LEETCODE 1288. Remove Covered Intervals 解题思路分析

题目大意:

删除被覆盖区间

给你一个区间列表,请你删除列表中被其他区间所覆盖的区间。

只有当 c <= a 且 b <= d 时,我们才认为区间 [a,b) 被区间 [c,d) 覆盖。

在完成所有删除操作后,请你返回列表中剩余区间的数目。

继续阅读
发表在 leetcode | 标签为 , | 留下评论

LEETCODE 1287. Element Appearing More Than 25% In Sorted Array 解题思路分析

题目大意:

有序数组中出现次数超过25%的元素

给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。

请你找到并返回这个整数

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1286. Iterator for Combination 解题思路分析

题目大意:

字母组合迭代器

请你设计一个迭代器类,包括以下内容:

  • 一个构造函数,输入参数包括:一个 有序且字符唯一 的字符串 characters(该字符串只包含小写英文字母)和一个数字 combinationLength 。
  • 函数 next() ,按 字典序 返回长度为 combinationLength 的下一个字母组合。
  • 函数 hasNext() ,只有存在长度为 combinationLength 的下一个字母组合时,才返回 True;否则,返回 False。
继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 638. Shopping Offers 解题思路分析

题目大意:

大礼包

在LeetCode商店中, 有许多在售的物品。

然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。

现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。

每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。

任意大礼包可无限次购买。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 679. 24 Game 解题思路分析

题目大意:

24 点游戏

你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 */+-() 的运算得到 24。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1167. Minimum Cost to Connect Sticks 解题思路分析

题目大意:

连接棒材的最低费用

You have some sticks with positive integer lengths.

You can connect any two sticks of lengths X and Y into one stick by paying a cost of X + Y.  You perform this action until there is one stick remaining.

Return the minimum cost of connecting all the given sticks into one stick in this way.

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1165. Single-Row Keyboard 解题思路分析

题目大意:

我们定制了一款特殊的力扣键盘,所有的键都排列在一行上。

我们可以按从左到右的顺序,用一个长度为 26 的字符串 keyboard (索引从 0 开始,到 25 结束)来表示该键盘的键位布局。

现在需要测试这个键盘是否能够有效工作,那么我们就需要个机械手来测试这个键盘。

最初的时候,机械手位于左边起第一个键(也就是索引为 0 的键)的上方。当机械手移动到某一字符所在的键位时,就会在终端上输出该字符。

机械手从索引 i 移动到索引 j 所需要的时间是 |i – j|。

当前测试需要你使用机械手输出指定的单词 word,请你编写一个函数来计算机械手输出该单词所需的时间。

继续阅读
发表在 leetcode | 标签为 , , , | 一条评论

LEETCODE 1168. Optimize Water Distribution in a Village 解题思路分析

题目大意:

水资源分配优化

村庄内有n户人家,我们可以通过挖井或者建造水管向每家供水。

对于每户人家i,我们可以通过花费 wells[i] 直接在其房内挖水井,或者通过水管连接到其他的水井。每两户住户间铺设水管的费用通过 pipes 数组表示。 pipes[i] = [house1, house2, cost] 表示住户1到住户2间铺设水管的费用为cost。

请求出所有住户都能通水的最小花费。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1169. Invalid Transactions 解题思路分析

题目大意:

查询无效交易

如果出现下述两种情况,交易 可能无效

  • 交易金额超过 ¥1000
  • 或者,它和另一个城市中同名的另一笔交易相隔不超过 60 分钟(包含 60 分钟整)

每个交易字符串 transactions[i] 由一些用逗号分隔的值组成,这些值分别表示交易的名称,时间(以分钟计),金额以及城市。

给你一份交易清单 transactions,返回可能无效的交易列表。你可以按任何顺序返回答案。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1172. Dinner Plate Stacks 解题思路分析

题目大意:

餐盘栈

我们把无限数量 ∞ 的栈排成一行,按从左到右的次序从 0 开始编号。每个栈的的最大容量 capacity 都相同。

实现一个叫「餐盘」的类 DinnerPlates:

  • DinnerPlates(int capacity) – 给出栈的最大容量 capacity。
  • void push(int val) – 将给出的正整数 val 推入 从左往右第一个 没有满的栈。
  • int pop() – 返回 从右往左第一个 非空栈顶部的值,并将其从栈中删除;如果所有的栈都是空的,请返回 -1。
  • int popAtStack(int index) – 返回编号 index 的栈顶部的值,并将其从栈中删除;如果编号 index 的栈是空的,请返回 -1。
继续阅读
发表在 leetcode | 标签为 , , , | 留下评论