leetcode简单题数组和技巧题

数组是一种基础数据结构,可以用来处理常见的排序和二分搜索问题,典型的处理技巧包括对撞指针、滑动窗口等。 面试中的算法问题,有很多并不需要复杂的数据结构支撑,就是用数组,就能考察出很多东西。

题型1:原地算法

在不引入额外空间的情况下,修改数组

283. 移动零 - 力扣(LeetCode)

27. 移除元素 - 力扣(LeetCode)

26. 删除有序数组中的重复项 - 力扣(LeetCode)

80. 删除有序数组中的重复项 II - 力扣(LeetCode)

75. 颜色分类 - 力扣(LeetCode)

31. 下一个排列 - 力扣(LeetCode)

题型2:双指针------对撞指针

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

15. 三数之和 - 力扣(LeetCode)

18. 四数之和 - 力扣(LeetCode)

125. 验证回文串 - 力扣(LeetCode)

11. 盛最多水的容器 - 力扣(LeetCode)

题型3:双指针------快慢指针

209. 长度最小的子数组 - 力扣(LeetCode)

LCR 119. 最长连续序列 - 力扣(LeetCode)

88. 合并两个有序数组 - 力扣(LeetCode)

题型4:排序

912. 排序数组 - 力扣(LeetCode)

排序中地快速排序归并排序,堆排序需要重点掌握。

215. 数组中的第K个最大元素 - 力扣(LeetCode)

347. 前 K 个高频元素 - 力扣(LeetCode)

题型5:二分查找

35. 搜索插入位置 - 力扣(LeetCode)

33. 搜索旋转排序数组 - 力扣(LeetCode)

34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)

153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode)

字符串篇

题型1:字符串反转类:

344. 反转字符串 - 力扣(LeetCode)

541. 反转字符串 II - 力扣(LeetCode)

557. 反转字符串中的单词 III - 力扣(LeetCode)

7. 整数反转 - 力扣(LeetCode)

151. 反转字符串中的单词 - 力扣(LeetCode)

题型2:回文串类:

125. 验证回文串 - 力扣(LeetCode)

647. 回文子串 - 力扣(LeetCode)

5. 最长回文子串 - 力扣(LeetCode)

516. 最长回文子序列 - 力扣(LeetCode)

题型3:字符操作类:

415. 字符串相加 - 力扣(LeetCode)

43. 字符串相乘 - 力扣(LeetCode)

387. 字符串中的第一个唯一字符 - 力扣(LeetCode)

242. 有效的字母异位词 - 力扣(LeetCode)

434. 字符串中的单词数 - 力扣(LeetCode)

6. Z 字形变换 - 力扣(LeetCode)

题型4:子串匹配类:

28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode)

14. 最长公共前缀 - 力扣(LeetCode)

459. 重复的子字符串 - 力扣(LeetCode)

题型5:括号匹配类:

20. 有效的括号 - 力扣(LeetCode)

1021. 删除最外层的括号 - 力扣(LeetCode)

32. 最长有效括号 - 力扣(LeetCode)