Files
daily/article/leetcode/leetcode.md
T
2020-07-09 18:46:45 +08:00

14 KiB

题目出现频率

LeetCode中的题目按真实面试中的出现频率降序排列。

Col 1 Col 2 Col 3 Col 4
贪心算法 排序
位运算 深度优先搜索 广度优先搜索
并查集 设计 拓扑排序
字典树 树状数组 线段树 二叉搜索树
递归 脑筋急转弯 记忆化 队列
极小化极大 蓄水池抽样 几何 数组
哈希表 链表 数学 双指针
字符串 二分查找 分治算法 动态规划
回溯算法 Random Rejection Sampling Sliding Window
Ordered Map Line Sweep    

刷题记录

从简单题开始刷,给自己点信心,题目太长和超过5分钟不能理解题目含义的直接跳过。

用栈做中转,当满足某个条件时,进栈或出栈,很多时候结果就存放在栈中。

题目 思路 实现
20. 有效的括号 辅助栈 查看
496. 下一个更大元素 I 单调栈 查看
682. 棒球比赛 辅助栈 查看
844. 比较含退格的字符串 辅助栈 查看
1047. 删除字符串中的所有相邻重复项 辅助栈 查看

队列

和栈类似,也是做中转,当满足某个条件时,进队或出队,很多时候结果就存放在队列中。

题目 思路 实现
剑指 Offer 59 - I. 滑动窗口的最大值 单调队列 查看

排序

排序好后再做比对或计算。

题目 思路 实现
242. 有效的字母异位词 字母排序 查看
349. 两个数组的交集 查看
350. 两个数组的交集 II 数字排序 查看
922. 按奇偶排序数组 II 双指针 查看
976. 三角形的最大周长 数字排序 查看
1122. 数组的相对排序 计数排序 查看
1356. 根据数字二进制下 1 的数目排序 自定义排序规则 查看
1491. 去掉最低工资和最高工资后的工资平均值 查看
1502. 判断能否形成等差数列 查看

位运算

使用异或、与、非等位运算符解决各类计算。

题目 思路 实现
136. 只出现一次的数字 异或 查看
169. 多数元素 查看
191. 位1的个数 二进制 查看
231. 2的幂 查看
268. 缺失数字 减法 查看
371. 两整数之和 异或+移位+与 查看
389. 找不同 异或 查看
461. 汉明距离 异或 查看

可以用递归遍历二叉树,添加各种边界条件。

题目 思路 实现
100. 相同的树 递归 查看
101. 对称二叉树 递归 查看
104. 二叉树的最大深度 递归 查看
107. 二叉树的层次遍历 II BFS+辅助栈 查看
110. 平衡二叉树 两次递归 查看
112. 路径总和 减法递归 查看

递归

题目 思路 实现
783. 二叉搜索树节点最小距离 中序遍历 查看
938. 二叉搜索树的范围和 DFS 查看
1137. 第 N 个泰波那契数 递归+缓存 查看
剑指 Offer 10- II. 青蛙跳台阶问题 递归 查看

链表

题目 思路 实现
141. 环形链表 双指针 查看
160. 相交链表 双指针 查看
876. 链表的中间结点 双指针 查看

字符串

题目 思路 实现
14. 最长公共前缀 遍历 查看
680. 验证回文字符串 Ⅱ 双指针 查看

数组

题目 思路 实现
53. 最大子序和 双重循环或动态规划 查看