数组双指针总结

数组双指针分为三类:

【对撞指针】两个指针分别从序列两端向中间移动,常用于查找有序数组中满足特定条件的元素对、字符串反转等场景。

【快慢指针】两个指针从同一端出发,步长不同,常用于数组元素的移动、删除,或链表中的环检测、长度统计等问题。

【分离指针】两个指针分别遍历不同的数组或链表,适合处理有序数组的合并、交集、并集等问题。

对撞指针题目:

标题 题解 标签 难度
0167. 两数之和 II - 输入有序数组 数组、双指针、二分查找 中等
0344. 反转字符串 双指针、字符串 简单
0345. 反转字符串中的元音字母 双指针、字符串 简单
0125. 验证回文串 双指针、字符串 简单
0011. 盛最多水的容器 贪心、数组、双指针 中等
0611. 有效三角形的个数 贪心、数组、双指针、二分查找、排序 中等
0015. 三数之和 数组、双指针、排序 中等
0016. 最接近的三数之和 数组、双指针、排序 中等
0018. 四数之和 数组、双指针、排序 中等
0259. 较小的三数之和 数组、双指针、二分查找、排序 中等
0658. 找到 K 个最接近的元素 数组、双指针、二分查找、排序、滑动窗口、堆(优先队列) 中等
1099. 小于 K 的两数之和 数组、双指针、二分查找、排序 简单
0075. 颜色分类 数组、双指针、排序 中等
0360. 有序转化数组 数组、数学、双指针、排序 中等
0977. 有序数组的平方 数组、双指针、排序 简单
0881. 救生艇 贪心、数组、双指针、排序 中等
0042. 接雨水 栈、数组、双指针、动态规划、单调栈 困难
0443. 压缩字符串 双指针、字符串 中等

快慢指针练习题目:

标题 题解 标签 难度
0026. 删除有序数组中的重复项 数组、双指针 简单
0080. 删除有序数组中的重复项 II 数组、双指针 中等
0027. 移除元素 数组、双指针 简单
0283. 移动零 数组、双指针 简单
0845. 数组中的最长山脉 数组、双指针、动态规划、枚举 中等
0088. 合并两个有序数组 数组、双指针、排序 简单
0719. 找出第 K 小的数对距离 数组、双指针、二分查找、排序 困难
0334. 递增的三元子序列 贪心、数组 中等
0978. 最长湍流子数组 数组、动态规划、滑动窗口 中等
LCR 139. 训练计划 I 数组、双指针、排序 简单

分离指针练习题目:

标题 题解 标签 难度
0350. 两个数组的交集 II 数组、哈希表、双指针、二分查找、排序 简单
0925. 长按键入 双指针、字符串 简单
0844. 比较含退格的字符串 栈、双指针、字符串、模拟 简单
1229. 安排会议日程 数组、双指针、排序 中等
0415. 字符串相加 数学、字符串、模拟 简单
0392. 判断子序列 双指针、字符串、动态规划 简单
相关推荐
Meme Buoy17 小时前
18.补充数学1:生成树-最短路径-最大流量-线性规划
数据结构·算法
paeamecium17 小时前
【PAT甲级真题】- Count PAT‘s (25)
c++·算法·动态规划·pat考试·pat
汀、人工智能17 小时前
[特殊字符] 第89课:岛屿数量
数据结构·算法·数据库架构·图论·bfs·岛屿数量
九英里路17 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串
2401_8920709817 小时前
顺序栈(动态数组实现) 超详细解析(C++ 语言 + 可直接运行)
数据结构·c++·顺序栈
卷福同学17 小时前
去掉手机APP开屏广告,李跳跳2.2下载使用
java·后端·算法
漫霂17 小时前
二叉树的翻转
java·数据结构·算法
语戚17 小时前
力扣 51. N 皇后:基础回溯、布尔数组优化、位运算全解(Java 实现)
java·算法·leetcode·力扣·剪枝·回溯·位运算
熊猫钓鱼>_>18 小时前
从零构建大模型可调用的Skill:基于Function Calling的完整指南
人工智能·算法·语言模型·架构·agent·skill·functioncall
py有趣18 小时前
力扣热门100题之螺旋矩阵
算法·leetcode