# 塔子哥の点评
观察近几年笔试,多考察的是同向双指针。所以这里只给出同向双指针的入门教程,帮大家直击痛点。 关于双指针在面试阶段的侧重点,文章尾部做了适当补充!
# 入门教程
同向双指针入门讲解视频 by 灵神 (opens new window)
# 题单
难度近似递增但不严格递增
# Level 1
1.LeetCode209. 长度最小的子数组 (opens new window)
2.LeetCode713. 乘积小于 K 的子数组 (opens new window)
3.剑指 Offer II 016. 不含重复字符的最长子字符串 (opens new window)
灵神视频中的三道例题
# Level 2
1.LeetCode532. 数组中的 k-diff 数对 (opens new window)
2.LeetCode167. 两数之和 II - 输入有序数组 (opens new window)
3.LeetCode1498. 满足条件的子序列数目 (opens new window)
双指针还能用来计数哦!
4.P1001 华为od-k优雅阈值 (opens new window)
本题启发你两件事情:
1.单调性还能这样!
2.在维护双指针的时候可能还需要套用一些数据结构(数组,哈希表等)
5.P1088 美团春招-2023.3.18.10点-第二题-k彩色区间 (opens new window)
和上一题类似
# Level 3
1.P1071 百度春招-2023.3.7-第二题-排列数量 (opens new window)
来点不一样的
2.P1290 华为od-2023.05.11-第一题-冗余覆盖 (opens new window)
如果前面的题目都掌握了,这题应该也能成功,加油!
*3.P1148 阿里巴巴-2023.4.3-第三题-又一个数论题 (opens new window)
接近竞赛难度了哦!
# 面试题补充
在面试阶段,还会涉及到更广义的双指针用法,这里给出一些题目
1.LeetCode27. 移除元素讲解 by Carl (opens new window)
这个双指针的思想实际上在快速排序中就用到过了。右指针用来扫描每个数,左指针用来维护合法区间的边界
2.环形链表II【基础算法精讲 07】by 灵神 (opens new window)
也可以看作是双指针,面试常考
更多资料欢迎大家补充!