第一步:对撞双指针
最终作品第一步:写出 two_sum(有序数组,两数之和)。 把两个下标拼起来输出(目标 40)。
第二步:快慢指针
写出 mid_index(找中点)和 has_cycle(判环)。 把三个结果拼起来输出:中点下标、无环判断、有环判断。
第三步:两种窗口
写出 max_window(固定窗口最大和,k=3)和 min_len(和不小于 50 的最短长度)。 把两个结果拼起来输出。
第四步:差分
写出 range_add 和 restore,做 [0,2] 加 5、[1,3] 加 2,把还原结果拼起来输出。
交付:四种技巧一起验收
这是这条路线的最终作品。把对撞双指针、快慢指针、两种滑动窗口、差分全写出来,然后一次验完五条: 对撞找和为 40 的两个下标是 2 和 3 快慢找中点是 2;无环判 False、有环判 True 固定窗口 k=3 的最大和是 66 可变窗口
⚠️ 贪心每一步是怎么选的
贪心算法在每一步都【0】。
贪心和暴力枚举差在哪
每次都从剩下的里挑最宽的 桌上的 挑走的 和暴力枚举比,贪心的做法是【0】。
贪心最大的风险是什么
每次都从剩下的里挑最宽的 桌上的 挑走的 用贪心最大的风险是【0】。
什么样的问题能用贪心
每次都从剩下的里挑最宽的 桌上的 挑走的 一个问题能用贪心,是因为【0】。
判断一个贪心对不对,最省事的办法
每次都从剩下的里挑最宽的 桌上的 挑走的 想知道一个贪心策略对不对,最省事的办法是【0】。