自用(不断补充):一些可以对比着练习的双指针/窗口数组题

本文讨论了LeetCode中涉及的几种常见算法问题,如非递减数组的处理、滑动窗口在字符串和数组问题中的应用、链表操作以及哈希表的使用。重点介绍了如何通过模板化和变参来解决类似问题,以及特定情况下如负数和前缀和的考虑。
摘要由CSDN通过智能技术生成

1.一头一尾的

1.167. 两数之和 II - 输入有序数组 - 力扣(LeetCode)

2.800. 数组元素的目标和 - AcWing题库

这两道题本质都是”非递减的数组“,所以可以一头一尾。

2.可以用Hashset做的题

1. 219. 存在重复元素 II - 力扣(LeetCode)

2. LCR 057. 存在重复元素 III - 力扣(LeetCode)

3.滑动窗口:一般是解决字串问题的

LCR 167. 招式拆解 I - 力扣(LeetCode)

LCR 014. 字符串的排列 - 力扣(LeetCode)

LCR 015. 找到字符串中所有字母异位词 - 力扣(LeetCode)

LCR 017. 最小覆盖子串 - 力扣(LeetCode)

这种题强烈推荐labuladong的模板!!!只需要变一下return的条件,大框架不变,轻轻松松

我写了首诗,把滑动窗口算法变成了默写题 | labuladong 的算法笔记

4.数组滑动窗口

长度最小的子数组 - 提交记录 - 力扣(LeetCode)

水果成篮 - 提交记录 - 力扣(LeetCode)

5.链表快慢指针

fast = fast.next.next;

slow = slow.next;

141. 环形链表 - 力扣(LeetCode)

142. 环形链表 II - 力扣(LeetCode)

876. 链表的中间结点 - 力扣(LeetCode)

6.当你在写链表题时,有的题实在写不出来,就用一用容器吧,list,set什么的,虽然比较麻烦,但是包对

7.翻转的滑动窗口题

424. 替换后的最长重复字符 - 力扣(LeetCode)

1004. 最大连续1的个数 III - 力扣(LeetCode)

8.什么时候用前缀和

1.子数组/子序列

2.有负数(有负数无法用滑动窗口,因为不确定扩大后是否一定增大)

9.原地哈希

41. 缺失的第一个正数 - 力扣(LeetCode)

645. 错误的集合 - 力扣(LeetCode)

442. 数组中重复的数据 - 力扣(LeetCode)

448. 找到所有数组中消失的数字 - 力扣(LeetCode)

41. 缺失的第一个正数 - 力扣(LeetCode)

用到TreeSet的滑动窗口

LCR 057. 存在重复元素 III - 力扣(LeetCode)

1438. 绝对差不超过限制的最长连续子数组 - 力扣(LeetCode)

10.两数之和变种

560. 和为 K 的子数组 - 力扣(LeetCode)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值