每次取出堆顶元素 x,则 x 是堆中最小的丑数,由于 2x, 3x, 5x 也是丑数,因此将 2x, 3x, 5x 加入堆。上述做法会导致堆中出现重复元素的情况。为了避免重复元素,可以使用哈希集合去重,避免相同元素多次加入堆。在排除重复元素的情况下,第 n 次从最小堆中取出的元素即为第 n 个丑数。思路:创建一个大小为 k 的小顶堆,堆顶元素就是第 K 大元素。首先将最小的丑数 1 加入堆。1. 数据流中的第 K 大元素。2. 数据流的中位数。
2024-04-27 16:13:09
29
【代码】粤嵌—2024/4/25—在排序数组中查找元素的第一个和最后一个位置。
2024-04-25 15:32:34
56
方法二:暴力法——不去重。方法三:暴力法——去重。
2024-04-25 15:25:02
125
的特例,两个指针都起始于原点,并一前一后向终点前进。还有一种双指针方法,其两个指针一始一终,并相向靠近,这种方法的内在思想和滑动窗口非常类似。解决一些查找满足一定条件的连续区间的性质(长度等)问题。5. 最大连续1的个数 III。滑动窗口——双指针:一前一后。4. 无重复字符的最长子串。1. 爱生气的书店老板。2. 长度最小的子数组。
2024-04-23 15:59:21
187
【代码】粤嵌—2024/4/22—两数之和 || - 输入有序数组。
2024-04-22 12:54:24
136
【代码】粤嵌—2024/4/19—三数之和。
2024-04-19 14:29:17
108
【代码】✌粤嵌—2024/4/18—旋转链表✌。
2024-04-18 17:14:24
152
1
【代码】力扣—2024/4/18—从双倍数组中还原原数组。
2024-04-18 13:35:59
192
【代码】粤嵌—2024/3/27—罗马数字转整数。
2024-04-17 14:04:28
100
【代码】✌粤嵌—2024/3/8—找出字符串中第一个匹配项的下标✌。
2024-04-17 13:55:20
109
【代码】✌粤嵌—2024/3/29—赎金信✌。
2024-04-17 13:41:34
158
解题思路:先将数组 newInterval 插入到数组 intervals 的末尾,再转换成合并区间。
2024-04-16 18:01:24
118
【代码】✌粤嵌—2024/4/11—合并区间。
2024-04-16 17:51:08
132
【代码】粤嵌—2024/4/10—简化路径。
2024-04-16 16:51:39
146
【代码】✌粤嵌—2024/4/9—用最少数量的箭引爆气球✌。
2024-04-16 15:34:12
88
【代码】✌粤嵌—2024/4/7—删除有序数组中的重复项✌。
2024-04-16 15:10:04
119
【代码】✌粤嵌—2024/4/3—合并K个升序链表✌。
2024-04-16 14:34:14
308
【代码】✌粤嵌—2024/4/2—有效的字母异位词✌。
2024-04-16 13:35:51
148
【代码】✌粤嵌—2024/4/1—同构字符串✌。
2024-04-16 13:32:05
149
【代码】✌粤嵌—2024/4/15—汇总区间✌。
2024-04-16 13:01:16
184
【代码】✌粤嵌—2024/4/16—x的平方根✌。
2024-04-16 12:46:32
176
【代码】✌粤嵌—2024/3/26—二进制求和✌。
2024-04-15 20:22:20
63
【代码】✌粤嵌—2024/3/25—全排列。
2024-04-15 19:53:05
248
【代码】粤嵌—2024/3/22—寻找峰值。
2024-04-15 19:47:35
228
方法一:常规解法——超时。
2024-04-15 19:34:24
104
【代码】✌粤嵌—2024/3/20—多数元素。
2024-04-15 19:25:18
223
【代码】✌粤嵌—2024/3/19—环形链表。
2024-04-15 18:59:34
99
1
【代码】✌粤嵌—2024/3/18—搜索插入位置。
2024-04-15 18:50:17
161
方法二:非递归,常规解法。
2024-04-15 17:27:13
192
【代码】✌粤嵌—2024/3/14—判断子序列。
2024-04-15 17:16:22
409
【代码】✌粤嵌—2024/3/13—反转字符串中的单词。
2024-04-15 17:00:03
113
方法二:记录历史最低点,然后在后面的每一天卖出。方法一:暴力法—超时。
2024-04-15 16:32:07
396
【代码】✌粤嵌—2024/3/11—跳跃游戏。
2024-04-15 15:09:44
184
【代码】✌2024/4/6—力扣—最长公共前缀✌。
2024-04-10 23:12:16
172
【代码】2024/4/6—力扣—简化路径。
2024-04-10 14:45:07
209
以num1 = 123 , num2 = 456为例:我们遍历 num2 每一位与 num1 进行相乘,将每一步的结果进行累加,在这个过程如果相乘或者相加的结果大于等于10 ,我们都要去满10进位。方法一:常规解法——超出整数表示范围。
2024-04-10 14:40:27
281
如果 x 是质数,那么 x 的倍数:2x, 3x,…3. 找出数组的做大公约数。4. 生成乘积数组的方案数。2. 二叉树的中序遍历。2. n的第K个因子。
2024-04-09 14:47:51
299
代码实现:
2024-04-09 12:17:26
203
方法一:分别查找左右侧边界。
2024-04-09 11:00:39
242
【代码】2024/4/5—力扣—搜索旋转排序数组。
2024-04-09 09:51:49
93