# 塔子哥の点评

观察近几年笔试,多考察的是同向双指针。所以这里只给出同向双指针的入门教程,帮大家直击痛点。 关于双指针在面试阶段的侧重点,文章尾部做了适当补充!

# 入门教程

同向双指针入门讲解视频 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)

也可以看作是双指针,面试常考

更多资料欢迎大家补充!