题目来自于gaoshengnan/LeetCode, 事实上,很多题目我都已经做过了,再重新复习一遍吧
高频面试题来自于:https://blog.csdn.net/gongsai20141004277/article/details/105307217
以下列出面试高频出现,以及一些非常经典重要的算法题: 总计:100 已完成:?? 未完成:??
实战题目 - Array
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 11 | 中等 | 盛最多水的容器 | container with most water | ✅ |
| 26 | 简单 | 删除排序数组中重复项 | remove Duplicates from sorted array | ✅ |
| 66 | 简单 | 加一 | plus one | ✅ |
| 70 | 简单 | 爬楼梯 | climbing stairs | ✅ |
| 88 | 简单 | 合并两个有序数组 | merge sorted array | ✅ |
| 189 | 简单 | 旋转数组 | rotate array | ✅ |
| 283 | 简单 | 移动零 | move zeroes | ✅ |
数组、高频面试题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 4 | 困难 | 4. 寻找两个正序数组的中位数 | 寻找两个正序数组的中位数 | ✅ |
| 31 | 中等 | 31. 下一个排列 | 31. 下一个排列 | ✅ |
| 34 | 中等 | 34. 在排序数组中查找元素的第一个和最后一个位置 | 34. 在排序数组中查找元素的第一个和最后一个位置 | ✅ |
| 54 | 中等 | 54. 螺旋矩阵 | 54. 螺旋矩阵 | ✅ |
| 56 | 中等 | 56. 合并区间 | 56. 合并区间 | ✅ |
| 238 | 中等 | 238. 除自身以外数组的乘积 | 238. 除自身以外数组的乘积 | ✅ |
| 1049 | 中等 | 1049. 最后一块石头的重量 II | 最后一块石头的重量 II | ✅ |
实战题目 - Linked List
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 21 | 简单 | 合并两个有序链表 | merge two sorted lists | ✅ |
| 24 | 中等 | 两两交换链表中的节点 | swap nodes in pairs | ✅ |
| 25 | 困难 | K 个一组翻转链表 | reverse node in k group | ✅ |
| 141 | 简单 | 环形链表 | linkedList cycle | ✅ |
| 142 | 中等 | 环形链表II | linked list cycle II | ✅ |
| 206 | 简单 | 反转链表 | reverse list | ✅ |
链表、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 2 | 中等 | 2. 两数相加 | 2. 两数相加 | ✅ |
| 3 | 中等 | 3. 无重复字符的最长子串 | 3. 无重复字符的最长子串 | ✅ |
| 19 | 中等 | 19. 删除链表的倒数第N个节点 | 19. 删除链表的倒数第N个节点 | ✅ |
其他实战题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 1 | 简单 | 两数之和 | two sum | ✅ |
| 15 | 中等 | 三数之和 | three sum | ✅ |
| 20 | 简单 | 有效的括号 | valid parenthese | ✅ |
| 42 | 困难 | 接雨水 | trapping rain water | ✅ |
| 49 | 中等 | 字母异位词分组 | group anagrams | ✅ |
| 84 | 困难 | 柱状图中最大的矩形 | 84. Largest Rectangle in Histogram | ✅ |
| 155 | 简单 | 最小栈 | min stack | ✅ |
| 239 | 困难 | 滑动窗口最大值 | sliding window maximum | ✅ |
| 242 | 简单 | 有效的字母异位词 | valid anagram | ✅ |
| 641 | 中等 | 设计循环双端队列 | 641. Design Circular Deque | ✅ |
实战题目 - Binary Tree
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 22 | 中等 | 括号生成 | Generate Parentheses | ✅ |
| 94 | 中等 | 二叉树的中序遍历 | binary tree inorder traversal | ✅ |
| 98 | 中等 | 验证二叉搜索树 | validate binary search tree | ✅ |
| 104 | 简单 | 二叉树的最大深度 | maximum depth of binary tree | ✅ |
| 105 | 中等 | 从前序与中序遍历序列构造二叉树 | construct binary tree | ✅ |
| 111 | 简单 | 二叉树的最小深度 | minimum depth of binary tree | ✅ |
| 144 | 中等 | 二叉树的前序遍历 | binary tree preorder traversal | ✅ |
| 226 | 简单 | 翻转二叉树 | invert binary tree | ✅ |
| 230 | 中等 | 二叉搜索树中第K小的元素 | 二叉搜索树中第K小的元素 | ✅ |
| 236 | 中等 | 二叉树的最近公共祖先 | lowest common ancestor | ✅ |
| 297 | 困难 | 二叉树的序列化与反序列化 | 二叉树的序列化与反序列化 | ✅ |
| 429 | 简单 | N叉树的层序遍历 | n ary tree level order traversal | ✅ |
| 589 | 简单 | N叉树的前序遍历 | N叉树的前序遍历 | ✅ |
| 590 | 简单 | N叉树的后序遍历 | N叉树的后序遍历 | ✅ |
树、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 124 | 困难 | 124. 二叉树中的最大路径和 | 124. 二叉树中的最大路径和 | ✅ |
| 199 | 中等 | 199. 二叉树的右视图 | 199. 二叉树的右视图 | ✅ |
| 543 | 简单 | 543. 二叉树的直径 | 543. 二叉树的直径 | ✅ |
| 572 | 简单 | 572. 另一个树的子树 | 另一个树的子树 | ✅ |
实战题目 - 分治
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 17 | 中等 | 电话号码的字母组合 | 17. Letter Combinations of a Phone Number | ✅ |
| 50 | 中等 | Pow(x, n) | pow x - n | ✅ |
| 78 | 中等 | 子集 | subsets | ✅ |
| 169 | 简单 | 求众数 | 169. Majority Element | ✅ |
分治算法、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 23 | 困难 | 23. 合并K个排序链表 | 合并K个排序链表 | ✅ |
| 215 | 中等 | 215. 数组中的第K个最大元素 | 数组中的第K个最大元素 | ✅ |
| 240 | 中等 | 240. 搜索二维矩阵 II | 搜索二维矩阵 II | ✅ |
| 973 | 中等 | 973. 最接近原点的 K 个点 | 最接近原点的 K 个点 | ✅ |
实战题目 - 二分查找
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 33 | 中等 | 搜索旋转排序数组 | search in rotated sorted array | ✅ |
| 69 | 简单 | x 的平方根 | sqrtx | ✅ |
| 367 | 简单 | 有效的完全平方数 | valid perfect square | ✅ |
实战题目 - 并查集
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 130 | 中等 | 被围绕的区域 | 被围绕的区域 | ✅ |
| 200 | 中等 | 岛屿数量 | number of islands | ✅ |
| 547 | 中等 | 朋友圈 | 朋友圈 | ✅ |
实战题目 - 遍历和搜索
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 102 | 中等 | 二叉树的层次遍历 | binary tree level order traversal | ✅ |
| 126 | 困难 | 单词接龙 II | 单词接龙 II | ✅ |
| 127 | 中等 | 单词接龙 | 单词接龙 | ✅ |
| 433 | 中等 | 最小基因变化 | 最小基因变化 | ✅ |
| 515 | 中等 | 在每个树行中找最大值 | 在每个树行中找最大值 | ✅ |
| 529 | 中等 | 扫雷游戏 | 扫雷游戏 | ✅ |
实战题目 - 动态规划
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 32 | 中等 | 最长有效括号 | 最长有效括号 | ✅ |
| 45 | 困难 | 跳跃游戏 II | 跳跃游戏 II | ✅ |
| 55 | 困难 | 跳跃游戏 | 55. 跳跃游戏 | ✅ |
| 62 | 中等 | 不同路径 | unique paths | ✅ |
| 63 | 中等 | 不同路径 II | unique paths II | ✅ |
| 64 | 中等 | 最小路径和 | 最小路径和 | ✅ |
| 72 | 困难 | 编辑距离 | 编辑距离 | ✅ |
| 76 | 困难 | 最小覆盖子串 | 最小覆盖子串 | ✅ |
| 91 | 中等 | 解码方法 | 解码方法 | ✅ |
| 120 | 中等 | 三角形最小路径和 | 三角形最小路径和 | ✅ |
| 121 | 简单 | 买卖股票的最佳时机 | best time to buy and shell stock | ✅ |
| 122 | 简单 | 买卖股票的最佳时机 II | best time to buy and shell stock ii | ✅ |
| 123 | 困难 | 买卖股票的最佳时机 III | 买卖股票的最佳时机 III | ✅ |
| 152 | 中等 | 乘积最大子序列 | 乘积最大子序列 | ✅ |
| 188 | 困难 | 买卖股票的最佳时机 IV | 买卖股票的最佳时机 IV | ✅ |
| 198 | 简单 | 打家劫舍 | house robber | ✅ |
| 213 | 中等 | 打家劫舍 II | house robber ii | ✅ |
| 221 | 中等 | 最大正方形 | 最大正方形 | ✅ |
| 279 | 中等 | 完全平方数 | 完全平方数 | ✅ |
| 322 | 中等 | 零钱兑换 | 零钱兑换 | ✅ |
| 518 | 中等 | 零钱兑换 II | 零钱兑换 II | ✅ |
| 309 | 中等 | 最佳买卖股票时机含冷冻期 | 最佳买卖股票时机含冷冻期 | ✅ |
| 312 | 困难 | 戳气球 | 戳气球 | ✅ |
| 363 | 困难 | 矩形区域不超过 K 的最大数值和 | 矩形区域不超过 K 的最大数值和 | ✅ |
| 403 | 困难 | 青蛙过河 | 青蛙过河 | ✅ |
| 410 | 困难 | 分割数组的最大值 | 分割数组的最大值 | ✅ |
| 552 | 困难 | 学生出勤记录 II | 学生出勤记录 II | ✅ |
| 621 | 中等 | 任务调度器 | 任务调度器 | ✅ |
| 647 | 中等 | 回文子串 | 回文子串 | ✅ |
| 714 | 中等 | 买卖股票的最佳时机含手续费 | 买卖股票的最佳时机含手续费 | ✅ |
| 980 | 困难 | 不同路径 III | 不同路径 III | ✅ |
动态规划、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 5 | 中等 | 5. 最长回文子串 | 5. 最长回文子串 | ✅ |
| 139 | 中等 | 139. 单词拆分 | 139. 单词拆分 | ✅ |
实战题目 - 剪枝
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 36 | 中等 | 有效的数独 | 有效的数独 | ✅ |
| 37 | 困难 | 解数独 | 解数独 | ✅ |
| 51 | 困难 | N皇后 | N皇后 | ✅ |
实战题目 - 贪心
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 455 | 简单 | 分发饼干 | 分发饼干 | ✅ |
| 860 | 简单 | 柠檬水找零 | 柠檬水找零 | ✅ |
| 874 | 简单 | 模拟行走机器人 | 模拟行走机器人 | ✅ |
实战题目 - trie 树
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 208 | 中等 | 实现 Trie (前缀树) | 实现 Trie (前缀树) | ✅ |
| 212 | 困难 | 单词搜索 II | 单词搜索 II | ✅ |
实战题目 - 位运算
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 52 | 困难 | N皇后 II | N皇后 II | ✅ |
| 190 | 简单 | 颠倒二进制位 | 颠倒二进制位 | ✅ |
| 191 | 简单 | 位1的个数 | 位1的个数 | ✅ |
| 231 | 简单 | 2的幂 | 2的幂 | ✅ |
| 338 | 中等 | 比特位计数 | 比特位计数 | ✅ |
实战题目 - LRU Catch
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 146 | 困难 | LRU缓存机制 | LRU缓存机制 | ✅ |
字符、高频
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 273 | 困难 | 273. 整数转换英文表示 | 整数转换英文表示 | ✅ |
| 415 | 简单 | 415. 字符串相加 | 字符串相加 | ✅ |
| 680 | 简单 | 680. 验证回文字符串 Ⅱ | 验证回文字符串 Ⅱ | ✅ |
| 819 | 简单 | 819. 最常见的单词 | 最常见的单词 | ✅ |
| 937 | 简单 | 937. 重新排列日志文件 | 重新排列日志文件 | ✅ |
堆与栈、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 692 | 中等 | 692. 前K个高频单词 | 前K个高频单词 | ✅ |
| 1249 | 中等 | 1249. 移除无效的括号 | 移除无效的括号 | ✅ |
哈希表、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 560 | 中等 | 560. 和为K的子数组 | 和为K的子数组 | ✅ |
| 953 | 简单 | 953. 验证外星语词典 | 验证外星语词典 | ✅ |
回溯算法、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 46 | 中等 | 46. 全排列 | 全排列 | ✅ |
| 79 | 中等 | 79. 单词搜索 | 单词搜索 | ✅ |
图论、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 301 | 困难 | 301. 删除无效的括号 | ||
| 994 | 中等 | 994. 腐烂的橘子 | 994. 腐烂的橘子 | ✅ |
| 1192 | 困难 | 1192. 查找集群内的「关键连接」 |
数学、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 7 | 简单 | 7. 整数反转 | 整数反转 | ✅ |
| 8 | 中等 | 8. 字符串转换整数 (atoi) | 字符串转换整数 (atoi) | ✅ |
| 67 | 简单 | 67. 二进制求和 | 二进制求和 | ✅ |
| 202 | 简单 | 202. 快乐数 | 快乐数 | ✅ |
设计、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 295 | 困难 | 295. 数据流的中位数 | 数据流的中位数 | ✅ |
| 380 | 中等 | 380. 常数时间插入、删除和获取随机元素 | 常数时间插入、删除和获取随机元素 | ✅ |
经典题目、高频题目
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 53 | 简单 | 53. 最大子序和 | 最大子序和 | ✅ |
| 125 | 简单 | 125. 验证回文串 | 验证回文串 | ✅ |
| 102 | 中等 | 102. 二叉树的层序遍历 | 二叉树的层序遍历 | ✅ |
| 138 | 中等 | 138. 复制带随机指针的链表 | 复制带随机指针的链表 | ✅ |
其他: 主要来自每天的每日一题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 1028 | 困难 | 1028. 从先序遍历还原二叉树 | 1028. 从先序遍历还原二叉树 | ✅ |
| 10 | 困难 | 10. 正则表达式匹配 | 10. 正则表达式匹配 | ✅ |
| 44 | 困难 | 44. 通配符匹配 | 44. 通配符匹配 | ✅ |
| 面试16.18 | 中等 | 面试题 16.18. 模式匹配 | 面试题 16.18. 模式匹配 | ✅ |
| 67 | 简单 | 67. 二进制求和 | 67. 二进制求和 | ✅ |
| 剑指Offer 09 | 简单 | 剑指 Offer 09. 用两个栈实现队列 | 剑指 Offer 09. 用两个栈实现队列 | ✅ |
| 718 | 中等 | 718. 最长重复子数组 | 最长重复子数组 | ✅ |
| 108 | 简单 | 108. 将有序数组转换为二叉搜索树 | 将有序数组转换为二叉搜索树 | ✅ |
| 39 | 中等 | 39. 组合总和 | 组合总和 | ✅ |
| 785 | 中等 | 785. 判断二分图 | 判断二分图 | ✅ |
背包问题
01背包问题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 416 | 中等 | 416. 分割等和子集 | 分割等和子集 | ✅ |
| 474 | 中等 | 474. 一和零 | 一和零 | ✅ |
| 1049 | 中等 | 1049. 最后一块石头的重量 II | 最后一块石头的重量 II | ✅ |
| acwing 2 | 简单 | 2. 01背包问题 | 01背包问题 | ✅ |
完全背包问题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| 322 | 中等 | 322. 零钱兑换 | 零钱兑换 | ✅ |
| 518 | 中等 | 518. 零钱兑换 II | 零钱兑换 II | ✅ |
| 377 | 中等 | 377. 组合总和 Ⅳ | 组合总和 Ⅳ | ✅ |
| 279 | 中等 | 完全平方数 | 完全平方数 | ✅ |
| acwing 3 | 简单 | 3. 完全背包问题 | 3. 完全背包问题 | ✅ |
多重背包问题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| acwing 4 | 简单 | 多重背包问题 | 多重背包问题 I | ✅ |
| acwing 5 | 中等 | 多重背包问题 II | 多重背包问题 2 | ✅ |
| acwing 6 | 困难 | 多重背包问题 III |
其他背包问题
| 题号 | 难度 | 题目链接 | 答案链接 | 是否完成 |
|---|---|---|---|---|
| acwing 7 | 中等 | 混合背包问题 | 混合背包问题 | ✅ |
| acwing 8 | 中等 | 二维费用的背包问题 | 二维费用的背包问题 | ✅ |
| acwing 9 | 中等 | 分组背包问题 | 分组背包问题 | ✅ |
| acwing 10 | 困难 | 有依赖的背包问题 | 有依赖的背包问题 | ✅ |
| acwing 11 | 中等 | 背包问题求方案数 | 背包问题求方案数 | ✅ |
| acwing 12 | 中等 | 背包问题求具体方案 | 背包问题求具体方案 | ✅ |
每日一题
| 题号 | 难度 | 标签 | 题目链接 | 答案链接 |
|---|---|---|---|---|
| 1894 | 中等 | 数组、二分查找、前缀和、模拟 | 1894. 找到需要补充粉笔的学生编号 | [1894. 找到需要补充粉笔的学生编号.py](https://github.com/menghuu/YALeetcode/blob/master/python3/1894. 找到需要补充粉笔的学生编号.py) |
| 704 | 简单 | 数组、二分查找 | 704. 二分查找 | [704. 二分查找.py](https://github.com/menghuu/YALeetcode/blob/master/python3/704. 二分查找.py) |
| 278 | 简单 | 二分查找、交互 | 278. 第一个错误的版本 | [278. 第一个错误的版本.py](https://github.com/menghuu/YALeetcode/blob/master/python3/278. 第一个错误的版本.py) |
| 35 | 简单 | 二分查找、数组 | 35. 搜索插入位置 | 35.搜索插入位置.py |
| 977 | 简单 | 双指针、数组、排序 | 977. 有序数组的平方 | 977.有序数组的平方.py |
| 189 | 中等 | 双指针、数组、数学(之前做过,但早已忘记) | 189. 旋转数组 | 189.旋转数组.py |