跳至主要內容

双指针


双指针

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号标题题解标签难度
5最长回文子串open in new window[✓]双指针 字符串 动态规划
11盛最多水的容器open in new window[✓]贪心 数组 双指针
15三数之和open in new window[✓]数组 双指针 排序
16最接近的三数之和open in new window[✓]数组 双指针 排序
18四数之和open in new window[✓]数组 双指针 排序
19删除链表的倒数第 N 个结点open in new window[✓]链表 双指针
26删除有序数组中的重复项open in new window[✓]数组 双指针
27移除元素open in new window[✓]数组 双指针
28找出字符串中第一个匹配项的下标open in new window[✓]双指针 字符串 字符串匹配
31下一个排列open in new window[✓]数组 双指针
42接雨水open in new window[✓] 数组 双指针 2+
61旋转链表open in new window[✓]链表 双指针
75颜色分类open in new window[✓]数组 双指针 排序
80删除有序数组中的重复项 IIopen in new window[✓]数组 双指针
82删除排序链表中的重复元素 IIopen in new window[✓]链表 双指针
86分隔链表open in new window[✓]链表 双指针
88合并两个有序数组open in new window[✓]数组 双指针 排序
125验证回文串open in new window[✓]双指针 字符串
141环形链表open in new window[✓]哈希表 链表 双指针
142环形链表 IIopen in new window[✓]哈希表 链表 双指针
143重排链表open in new window[✓] 递归 链表 1+
148排序链表open in new window[✓]链表 双指针 分治 2+
151反转字符串中的单词open in new window[✓]双指针 字符串
160相交链表open in new window[✓]哈希表 链表 双指针
161相隔为 1 的编辑距离 🔒open in new window双指针 字符串
165比较版本号open in new window双指针 字符串
167两数之和 II - 输入有序数组open in new window[✓]数组 双指针 二分查找
170两数之和 III - 数据结构设计 🔒open in new window设计 数组 哈希表 2+
186反转字符串中的单词 II 🔒open in new window双指针 字符串
189轮转数组open in new window[✓]数组 数学 双指针
202快乐数open in new window[✓]哈希表 数学 双指针
234回文链表open in new window[✓] 递归 链表 1+
244最短单词距离 II 🔒open in new window设计 数组 哈希表 2+
246中心对称数 🔒open in new window哈希表 双指针 字符串
251展开二维向量 🔒open in new window设计 数组 双指针 1+
253会议室 II 🔒open in new window贪心 数组 双指针 3+
259较小的三数之和 🔒open in new window[✓]数组 双指针 二分查找 1+
272最接近的二叉搜索树值 II 🔒open in new window 深度优先搜索 4+
277搜寻名人 🔒open in new window 双指针 交互
283移动零open in new window[✓]数组 双指针
287寻找重复数open in new window[✓]位运算 数组 双指针 1+
295数据流的中位数open in new window[✓]设计 双指针 数据流 2+
321拼接最大数open in new window 贪心 数组 2+
344反转字符串open in new window[✓]双指针 字符串
345反转字符串中的元音字母open in new window[✓]双指针 字符串
349两个数组的交集open in new window数组 哈希表 双指针 2+
350两个数组的交集 IIopen in new window数组 哈希表 双指针 2+
360有序转化数组 🔒open in new window数组 数学 双指针 1+
392判断子序列open in new window[✓]双指针 字符串 动态规划
408有效单词缩写 🔒open in new window双指针 字符串
443压缩字符串open in new window[✓]双指针 字符串
455分发饼干open in new window贪心 数组 双指针 1+
457环形数组是否存在循环open in new window数组 哈希表 双指针
475供暖器open in new window数组 双指针 二分查找 1+
481神奇字符串open in new window双指针 字符串
522最长特殊序列 IIopen in new window数组 哈希表 双指针 2+
524通过删除字母匹配到字典里最长单词open in new window数组 双指针 字符串 1+
532数组中的 k-diff 数对open in new window数组 哈希表 双指针 2+
541反转字符串 IIopen in new window双指针 字符串
556下一个更大元素 IIIopen in new window数学 双指针 字符串
557反转字符串中的单词 IIIopen in new window[✓]双指针 字符串
567字符串的排列open in new window[✓]哈希表 双指针 字符串 1+
581最短无序连续子数组open in new window 贪心 数组 3+
611有效三角形的个数open in new window[✓]贪心 数组 双指针 2+
633平方数之和open in new window数学 双指针 二分查找
647回文子串open in new window双指针 字符串 动态规划
653两数之和 IV - 输入二叉搜索树open in new window 深度优先搜索 广度优先搜索 4+
658找到 K 个最接近的元素open in new window数组 双指针 二分查找 3+
680验证回文串 IIopen in new window贪心 双指针 字符串
696计数二进制子串open in new window双指针 字符串
719找出第 K 小的数对距离open in new window数组 双指针 二分查找 1+
723粉碎糖果 🔒open in new window数组 双指针 矩阵 1+
763划分字母区间open in new window[✓]贪心 哈希表 双指针 1+
777在LR字符串中交换相邻字符open in new window双指针 字符串
786第 K 个最小的质数分数open in new window数组 双指针 二分查找 2+
795区间子数组个数open in new window数组 双指针
809情感丰富的文字open in new window数组 双指针 字符串
821字符的最短距离open in new window数组 双指针 字符串
825适龄的朋友open in new window数组 双指针 二分查找 1+
826安排工作以达到最大收益open in new window贪心 数组 双指针 2+
832翻转图像open in new window位运算 数组 双指针 2+
838推多米诺open in new window双指针 字符串 动态规划
844比较含退格的字符串open in new window[✓] 双指针 字符串 1+
845数组中的最长山脉open in new window[✓]数组 双指针 动态规划 1+
870优势洗牌open in new window贪心 数组 双指针 1+
876链表的中间结点open in new window[✓]链表 双指针
881救生艇open in new window贪心 数组 双指针 1+
905按奇偶排序数组open in new window数组 双指针 排序
917仅仅反转字母open in new window双指针 字符串
922按奇偶排序数组 IIopen in new window数组 双指针 排序
923三数之和的多种可能open in new window数组 哈希表 双指针 2+
925长按键入open in new window双指针 字符串
942增减字符串匹配open in new window贪心 数组 双指针 1+
948令牌放置open in new window贪心 数组 双指针 1+
969煎饼排序open in new window贪心 数组 双指针 1+
977有序数组的平方open in new window数组 双指针 排序
986区间列表的交集open in new window[✓]数组 双指针
1023驼峰式匹配open in new window字典树 数组 双指针 2+
1040移动石子直到连续 IIopen in new window数组 数学 双指针 1+
1048最长字符串链open in new window数组 哈希表 双指针 3+
1055形成字符串的最短路径 🔒open in new window贪心 双指针 字符串 1+
1089复写零open in new window数组 双指针
1099小于 K 的两数之和 🔒open in new window数组 双指针 二分查找 1+
1147段式回文open in new window贪心 双指针 字符串 3+
1163按字典序排在最后的子串open in new window双指针 字符串
1214查找两棵二叉搜索树之和 🔒open in new window 深度优先搜索 4+
1229安排会议日程 🔒open in new window数组 双指针 排序
1237找出给定方程的正整数解open in new window数学 双指针 二分查找 1+
1265逆序打印不可变链表 🔒open in new window 递归 链表 1+
1332删除回文子序列open in new window双指针 字符串
1346检查整数及其两倍数是否存在open in new window数组 哈希表 双指针 2+
1385两个数组间的距离值open in new window数组 双指针 二分查找 1+
1455检查单词是否为句中其他单词的前缀open in new window双指针 字符串 字符串匹配
1471数组中的 k 个最强值open in new window数组 双指针 排序
1498满足条件的子序列数目open in new window数组 双指针 二分查找 1+
1508子数组和排序后的区间和open in new window数组 双指针 二分查找 1+
1537最大得分open in new window贪心 数组 双指针 1+
1570两个稀疏向量的点积 🔒open in new window设计 数组 哈希表 1+
1574删除最短的子数组使剩余数组有序open in new window 数组 双指针 2+
1577数的平方等于两数乘积的方法数open in new window数组 哈希表 数学 1+
1616分割两个字符串得到回文串open in new window双指针 字符串
1634求两个多项式链表的和 🔒open in new window链表 数学 双指针
1650二叉树的最近公共祖先 III 🔒open in new window 哈希表 双指针 1+
1679K 和数对的最大数目open in new window[✓]数组 哈希表 双指针 1+
1697检查边长度限制的路径是否存在open in new window并查集 数组 2+
1712将数组分成三个子数组的方案数open in new window数组 双指针 二分查找 1+
1721交换链表中的节点open in new window链表 双指针
1750删除字符串两端相同字符后的最短长度open in new window双指针 字符串
1754构造字典序最大的合并字符串open in new window贪心 双指针 字符串
1755最接近目标值的子序列和open in new window位运算 数组 双指针 2+
1764通过连接另一个数组的子数组得到一个数组open in new window贪心 数组 双指针 1+
1768交替合并字符串open in new window[✓]双指针 字符串
1782统计点对的数目open in new window 数组 双指针 2+
1793好子数组的最大分数open in new window 数组 双指针 2+
1813句子相似性 IIIopen in new window[✓]数组 双指针 字符串
1826有缺陷的传感器 🔒open in new window数组 双指针
1842下个由相同数字构成的回文串 🔒open in new window双指针 字符串
1850邻位交换的最小次数open in new window贪心 双指针 字符串
1855下标对中的最大距离open in new window数组 双指针 二分查找
1861旋转盒子open in new window数组 双指针 矩阵
1868两个行程编码数组的积 🔒open in new window数组 双指针
1877数组中最大数对和的最小值open in new window贪心 数组 双指针 1+
1885统计数对 🔒open in new window数组 双指针 二分查找 1+
1898可移除字符的最大数目open in new window数组 双指针 字符串 1+
1961检查字符串是否为数组前缀open in new window数组 双指针 字符串
1963使字符串平衡的最小交换次数open in new window[✓] 贪心 双指针 1+
2000反转单词前缀open in new window 双指针 字符串
2035将数组分成两个数组并最小化数组和的差open in new window位运算 数组 双指针 4+
2046给按照绝对值排序的链表排序 🔒open in new window链表 双指针 排序
2095删除链表的中间节点open in new window链表 双指针
2105给植物浇水 IIopen in new window数组 双指针 模拟
2108找出数组中的第一个回文字符串open in new window数组 双指针 字符串
2109向字符串添加空格open in new window数组 双指针 字符串 1+
2122还原原数组open in new window数组 哈希表 双指针 2+
2130链表最大孪生和open in new window 链表 双指针
2149按符号重排数组open in new window数组 双指针 模拟
2161根据给定数字划分数组open in new window数组 双指针 模拟
2193得到回文串的最少操作次数open in new window贪心 树状数组 双指针 1+
2200找出数组中的所有 K 近邻下标open in new window数组 双指针
2234花园的最大总美丽值open in new window贪心 数组 双指针 2+
2300咒语和药水的成功对数open in new window数组 双指针 二分查找 1+
2330验证回文串 IV 🔒open in new window双指针 字符串
2332坐上公交的最晚时间open in new window数组 双指针 二分查找 1+
2337移动片段得到字符串open in new window双指针 字符串
2367等差三元组的数目open in new window数组 哈希表 双指针 1+
2396严格回文的数字open in new window脑筋急转弯 数学 双指针
2406将区间分为最少组数open in new window[✓]贪心 数组 双指针 3+
2410运动员和训练师的最大匹配数open in new window贪心 数组 双指针 1+
2422使用合并操作将数组转换为回文序列 🔒open in new window贪心 数组 双指针
2441与对应负数同时存在的最大正整数open in new window数组 哈希表 双指针 1+
2460对数组执行操作open in new window数组 双指针 模拟
2462雇佣 K 位工人的总代价open in new window数组 双指针 模拟 1+
2465不同的平均值数目open in new window数组 哈希表 双指针 1+
2472不重叠回文子字符串的最大数目open in new window贪心 双指针 字符串 1+
2486追加字符以获得子序列open in new window贪心 双指针 字符串
2491划分技能点相等的团队open in new window[✓]数组 哈希表 双指针 1+
2503矩阵查询可获得的最大分数open in new window广度优先搜索 并查集 数组 4+
2511最多可以摧毁的敌人城堡数目open in new window数组 双指针
2540最小公共值open in new window数组 哈希表 双指针 1+
2562找出数组的串联值open in new window数组 双指针 模拟
2563统计公平数对的数目open in new window数组 双指针 二分查找 1+
2565最少得分子序列open in new window双指针 字符串 二分查找
2570合并两个二维数组 - 求和法open in new window数组 哈希表 双指针
2576求出最多标记下标open in new window贪心 数组 双指针 2+
2592最大化数组的伟大值open in new window贪心 数组 双指针 1+
2604吃掉所有谷子的最短时间 🔒open in new window数组 双指针 二分查找 1+
2674拆分循环链表 🔒open in new window链表 双指针
2697字典序最小回文串open in new window贪心 双指针 字符串
2824统计和小于目标的下标对数目open in new window数组 双指针 二分查找 1+
2825循环增长使字符串子序列等于另一个字符串open in new window双指针 字符串
2838英雄可以获得的最大金币数 🔒open in new window数组 双指针 二分查找 2+
2856删除数对后的最小数组长度open in new window贪心 数组 哈希表 3+
2868单词游戏 🔒open in new window贪心 数组 数学 3+
2903找出满足差值条件的下标 Iopen in new window数组 双指针
2905找出满足差值条件的下标 IIopen in new window数组 双指针
2911得到 K 个半回文串的最少修改次数open in new window双指针 字符串 动态规划
2938区分黑球与白球open in new window[✓]贪心 双指针 字符串
2970统计移除递增子数组的数目 Iopen in new window数组 双指针 二分查找 1+
2972统计移除递增子数组的数目 IIopen in new window数组 双指针 二分查找
3006找出数组中的美丽下标 Iopen in new window双指针 字符串 二分查找 3+
3008找出数组中的美丽下标 IIopen in new window双指针 字符串 二分查找 3+
3132找出与数组相加的整数 IIopen in new window数组 双指针 枚举 1+
3186施咒的最大总伤害open in new window数组 哈希表 双指针 4+
3194最小元素和最大元素的最小平均值open in new window数组 双指针 排序
3239最少翻转次数使二进制矩阵回文 Iopen in new window数组 双指针 矩阵
3240最少翻转次数使二进制矩阵回文 IIopen in new window数组 双指针 矩阵
3284连续子数组的和 🔒open in new window数组 双指针 动态规划
3302字典序最小的合法序列open in new window贪心 双指针 字符串 1+
3316从原字符串里进行删除操作的最多次数open in new window数组 哈希表 双指针 2+
LCP 18早餐组合open in new window数组 双指针 二分查找 1+
LCP 28采购方案open in new window数组 双指针 二分查找 1+
剑指 Offer 21调整数组顺序使奇数位于偶数前面open in new window[✓]数组 双指针 排序
剑指 Offer 22链表中倒数第k个节点open in new window[✓]链表 双指针
剑指 Offer 41数据流中的中位数open in new window[✓]设计 双指针 数据流 2+
剑指 Offer 52两个链表的第一个公共节点open in new window[✓]哈希表 链表 双指针
剑指 Offer 57和为s的两个数字open in new window[✓]数组 双指针 二分查找
剑指 Offer 57-II和为s的连续正数序列open in new window[✓]数学 双指针 枚举
剑指 Offer 58翻转单词顺序open in new window[✓]双指针 字符串
剑指 Offer 58-II左旋转字符串open in new window[✓]数学 双指针 字符串
剑指 Offer 6从尾到头打印链表open in new window[✓] 递归 链表 1+
剑指 Offer II 14字符串中的变位词open in new window[✓]哈希表 双指针 字符串 1+
剑指 Offer II 18有效的回文open in new window[✓]双指针 字符串
剑指 Offer II 19最多删除一个字符得到回文open in new window贪心 双指针 字符串
剑指 Offer II 21删除链表的倒数第 n 个结点open in new window[✓]链表 双指针
剑指 Offer II 22链表中环的入口节点open in new window[✓]哈希表 链表 双指针
剑指 Offer II 23两个链表的第一个重合节点open in new window[✓]哈希表 链表 双指针
剑指 Offer II 26重排链表open in new window[✓] 递归 链表 1+
剑指 Offer II 27回文链表open in new window[✓] 递归 链表 1+
剑指 Offer II 6排序数组中两个数字之和open in new window[✓]数组 双指针 二分查找
剑指 Offer II 7数组中和为 0 的三个数open in new window[✓]数组 双指针 排序
剑指 Offer II 77链表排序open in new window[✓]链表 双指针 分治 2+
面试题 01.05一次编辑open in new window双指针 字符串
面试题 01.06字符串压缩open in new window双指针 字符串
面试题 02.01移除重复节点open in new window哈希表 链表 双指针
面试题 02.02返回倒数第 k 个节点open in new window链表 双指针
面试题 02.04分割链表open in new window链表 双指针
面试题 02.06回文链表open in new window 递归 链表 1+
面试题 02.07链表相交open in new window哈希表 链表 双指针
面试题 02.08环路检测open in new window哈希表 链表 双指针
面试题 10.01合并排序的数组open in new window数组 双指针 排序
面试题 16.06最小差open in new window数组 双指针 二分查找 1+
面试题 16.16部分排序open in new window 贪心 数组 3+
面试题 16.24数对和open in new window数组 哈希表 双指针 2+
面试题 17.20连续中值open in new window设计 双指针 数据流 2+
面试题 17.21直方图的水量open in new window 数组 双指针 2+