
力扣
文章平均质量分 64
力扣算法题
拾零吖
没有踏不平的路,只有不想走的人
展开
-
枚举算法-day5
将绝对值左边拆分为两个不含绝对值的条件变量存储 [0,i] 的最大值和最小值下标。原创 2025-04-02 20:16:18 · 573 阅读 · 0 评论 -
枚举算法-day4
用数组存储最高位 1-9 的个数。原创 2025-04-01 15:15:04 · 694 阅读 · 0 评论 -
枚举算法-day3
【代码】枚举算法-day3。原创 2025-03-30 12:11:02 · 531 阅读 · 0 评论 -
枚举算法-day2
键值对:对应数位和中最大的数。原创 2025-03-29 13:53:14 · 506 阅读 · 0 评论 -
枚举算法-day1
空间换时间。原创 2025-03-28 15:39:18 · 546 阅读 · 0 评论 -
二分算法-day3(构建二分数组)
【代码】二分算法-day3(构建二分数组)原创 2025-03-27 20:01:18 · 585 阅读 · 0 评论 -
二分算法-day2
函数引用数组要加 &原创 2025-03-26 19:21:21 · 521 阅读 · 0 评论 -
二分算法-day1(模板)
闭区间,开区间,左闭右开lower_bound 函数返回最小的满足 nums[i] >= target 的下标 istart 超出范围或者该数字不是 target ,则返回 {-1,-1}while 循环条件:当 l,r 之间没有元素了,循环结束各种下标的寻找。原创 2025-03-25 15:01:35 · 639 阅读 · 0 评论 -
双指针算法-day18(分组循环)
i += 2,前面两个元素满足条件,直接跳过i -- 是因为最后一个元素可能被包含在下一组。原创 2025-03-24 19:26:39 · 737 阅读 · 0 评论 -
双指针算法-day17(分组循环)
【代码】双指针算法-day17(分组循环)原创 2025-03-23 11:14:58 · 571 阅读 · 0 评论 -
双指针算法-day16(分组循环)
【代码】双指针算法-day16(分组循环)原创 2025-03-22 10:06:19 · 618 阅读 · 0 评论 -
双指针算法-day15(分组循环)
变为最小值需要的次数与距离有关。原创 2025-03-21 15:11:49 · 494 阅读 · 0 评论 -
双指针算法-day14(分组循环)
【代码】双指针算法-day14(分组循环)原创 2025-03-20 17:29:19 · 533 阅读 · 0 评论 -
双指针算法-day13(多指针)
当两数和 <= target,则对与左元素 L 来说,它和(L,R] 任意一个数之和均 <= target。i <= x <= j 拆分为 x <= i - 1 与 x <= j 两个问题。原创 2025-03-19 15:31:15 · 501 阅读 · 0 评论 -
双指针算法-day12(判断子序列)
【代码】双指针算法-day12(判断子序列)原创 2025-03-18 15:31:08 · 431 阅读 · 0 评论 -
双指针算法-day11(双序列双指针)
退格只对前一个元素有影响,所以从后往前遍历。原创 2025-03-17 20:03:20 · 807 阅读 · 0 评论 -
双指针算法-day10(双序列双指针)
【代码】双指针算法-day10(双序列双指针)原创 2025-03-16 11:36:55 · 582 阅读 · 0 评论 -
双指针算法-day9(双序列双指针)
【代码】双指针算法-day9(双序列双指针)原创 2025-03-15 13:55:28 · 381 阅读 · 0 评论 -
双指针算法-day8(同向反向双指针)
【代码】双指针算法-day8(同向反向双指针)原创 2025-03-15 11:19:36 · 499 阅读 · 0 评论 -
滑动窗口算法-day12(选做题)
若移动窗口后,sum > 0,说明该年龄段有可以发送的用户,更新答案;窗口左右指针为 L,R,且都是年龄,[L,R] 即为窗口年龄段。原创 2025-03-14 17:01:45 · 575 阅读 · 0 评论 -
滑动窗口算法-day11(不定长选做)
反向思维。原创 2025-03-13 20:45:01 · 563 阅读 · 0 评论 -
滑动窗口算法-day10(定长选做)
数据范围比较小,采用计数排序方法。原创 2025-03-12 16:54:07 · 580 阅读 · 0 评论 -
滑动窗口算法-day9(恰好型)
【代码】滑动窗口算法-day9(恰好型)原创 2025-03-11 15:53:12 · 438 阅读 · 0 评论 -
滑动窗口算法-day8(越短越合法子数组)
核心步骤:ans += R - L + 1;答案每次加的都是以右指针元素为核心的个数,在最短子数组情况下,在该子数组里选取多少个元素都满足条件,因此答案 + (R - L + 1);原创 2025-03-11 15:07:16 · 249 阅读 · 0 评论 -
滑动窗口算法-day7(越长越合法子数组)
遍历右指针,当满足条件的时候,再去收缩左指针,达到不满足条件;此时左指针 L 的值即为当前滑窗下的答案,继续遍历;原创 2025-03-10 21:25:36 · 634 阅读 · 0 评论 -
滑动窗口算法-day6(最短子数组)
第二题是经典的滑动窗口题目,注意细节即可;第一题和第三题有类似的地方,都是先用 cnt 记录元素总数,再用滑动窗口内元素去消 cnt 元素,使某变量削减到一定数量,再更新答案;注意点:1,3 题的 while 循环是在满足条件下更新答案的,而 2 题是利用 while 循环去达到满足条件,再用 if 判断是否可以更新答案的;第三题利用了反向思维,需要多思考;原创 2025-03-09 11:43:08 · 412 阅读 · 0 评论 -
滑动窗口算法-day5 (不定长)
和模板题都是同样的套路;原创 2025-03-08 14:01:09 · 406 阅读 · 0 评论 -
滑动窗口算法-day4
前两题都是移动窗口右边界然后进行计算的题目,注意第一题的各种函数就行了;第三题对计算要求比较高,很多不同的下标需要仔细计算;原创 2025-03-08 10:49:35 · 476 阅读 · 0 评论 -
滑动窗口算法-day3 (定长滑窗)
1.移动指针 i ,直到窗口长度变为 K,在过程中记录某些变量的值;2.根据题目条件,更新结果取值;3.移动窗口,即去除左边第一个数,并根据该值去更新某些变量;注意点:移动窗口过程中,下标的变化;原创 2025-03-07 17:20:00 · 1247 阅读 · 0 评论 -
滑动窗口算法-day2
遍历整个数组;左指针:根据题目条件不断右移,去除不符合的元素,使得 L-R 元素均满足题目条件;答案方案数一定是建立在包含右指针的情况下去计算;第六题的反向思维转换为滑动窗口非常巧妙,可以多思考几遍;原创 2025-03-06 21:30:29 · 839 阅读 · 0 评论 -
双指针算法-day7 (原地修改)
原地修改双指针步骤:首先确定左右指针位置和移动方向;其次,确定更新方式,一般有3种:1.左指针更新数组,右指针移动寻找满足条件的元素 ,将右指针指向的数直接赋值给左指针。(适用于可以舍弃不满足条件的元素);2.将左指针指向的数与右指针指向的数交换。(适用于将满足条件的数提前的题目);3.左右指针同频移动,共同寻找不符合条件的数组对,进行交换;复写0 这题比较有思想深度,用到了三指针,得多想多模拟;原创 2025-03-05 21:22:09 · 939 阅读 · 0 评论 -
双指针算法-day6
1.解析。原创 2025-03-04 17:21:16 · 773 阅读 · 0 评论 -
双指针算法-day5
【代码】双指针算法-day5。原创 2025-03-03 20:02:20 · 234 阅读 · 0 评论 -
双指针算法-day4
1.解析。原创 2025-03-03 18:27:20 · 390 阅读 · 0 评论 -
滑动窗口算法-day1 (模板题)
1.暴力解法:两重循环,时间复杂度为 O(n^2);原创 2025-03-02 21:21:20 · 577 阅读 · 0 评论 -
双指针算法-day3
1.暴力解析:四重循环,时间复杂度为 O(n^4);原创 2025-03-02 09:39:21 · 394 阅读 · 0 评论 -
双指针算法-day2
1.暴力解法:双重循环,时间复杂度为 O(n^2);1.暴力解法:三重循环,时间复杂度为 O(n^3);原创 2025-03-01 10:44:22 · 543 阅读 · 0 评论 -
双指针算法-day1(相向双指针)
1.暴力枚举:两重循环,时间复杂度为 O(n^2)原创 2025-02-28 20:26:13 · 469 阅读 · 0 评论