Skip to content

Latest commit

 

History

History
363 lines (343 loc) · 29.4 KB

README.md

File metadata and controls

363 lines (343 loc) · 29.4 KB

Leetcode 刷题手册

目录

项目介绍

因为目前正在 找工作需要刷题,为了方便后期学习,我将自己刷过的 题目以及对应的解法记录 于该项目中,方便后期学习,也方便大家学习,如果有帮助,麻烦给个 star , Thank you!

本项目目前正在更新,而且我们组织了一个学习小组,如果你也面临着找工作刷题每人讨论的烦恼,可以联系我,欢迎你的加入!!!

题目思维导图

  1. 已完成题目思维导图

  1. 在做题目思维导图

题目汇总

  1. 74. 搜索二维矩阵
  2. 88. 合并两个有序数组
  3. 136. 只出现一次的数字
  4. 240. 搜索二维矩阵 II
  5. 50. Pow(x, n)【[leetcode]](https://leetcode-cn.com/problems/powx-n/)】 【简单】
  6. 118. 杨辉三角 I【[leetcode]](https://leetcode-cn.com/problems/pascals-triangle/)】 【简单】
  7. 119. 杨辉三角 II【[leetcode]](https://leetcode-cn.com/problems/pascals-triangle-ii/)】 【简单】
  8. 463. 岛屿的周长【[leetcode]](https://leetcode-cn.com/problems/island-perimeter/)】 【简单】
  9. 941. 有效的山脉数组【[leetcode]](https://leetcode-cn.com/problems/valid-mountain-array/)】 【简单】
  1. 350. 两个数组的交集 II
  2. 1. 两数之和
  3. 56. 合并区间
  4. 152. 乘积最大子序列
  5. 217. 存在重复元素
  6. 238. 除自身以外数组的乘积
  7. 在一个未排序的整型数组中,如何找到最大和最小的数字?
  8. 283. 移动零
  9. 287. 寻找重复数
  10. 334. 递增的三元子序列
  11. 349. 两个数组的交集
  12. 350. 两个数组的交集 II
  13. 836. 矩形重叠
  14. 118. 杨辉三角
  15. 119. 杨辉三角 II
  16. 1431. 拥有最多糖果的孩子 【简单】【leetcode
  17. 面试题29. 顺时针打印矩阵 【简单】【leetcode
  18. 14. 最长公共前缀 【简单】【leetcode
  19. 剑指 Offer 04. 二维数组中的查找 【中等】【leetcode
  20. 228. 汇总区间 【简单】 【leetcode
  21. 260. 只出现一次的数字 III 【中等】 【leetcode

T260_singleNumber

思路汇总

  1. 在未排序链表中,怎样移除重复的节点?
  2. 在一次遍历中,怎样发现单个链表的中间元素?
  3. 链表实现
  4. 21. 合并两个有序链表
  5. 141. 环形链表
  6. 21. 合并两个有序链表
  7. 160. 相交链表
  8. 234. 回文链表
  9. 328. 奇偶链表
  10. 23. 合并K个排序链表
  11. 25. K 个一组翻转链表
  12. 面试题 02.01. 移除重复节点 【简单】 【leetcode
  13. 92. 反转链表 II 【中等】 【leetcode
  14. 83. 删除排序链表中的重复元素 【简单】 【leetcode
  15. 24. 两两交换链表中的节点 【简单】 【leetcode
  16. 143. 重排链表 【中等】 【leetcode
  17. 剑指 Offer 22. 链表中倒数第k个节点 【简单】 【leetcode
  18. 面试题 02.03. 删除中间节点 【简单】 【leetcode
  19. 19. 删除链表的倒数第 N 个结点 【简单】 【leetcode

思路汇总

只需借鉴 上一步 (定义变量类型)

介绍

此类题型的特点在于,当前位置的取值,仅与前一个位置相关,与其他位置无关,所以只需定义一个变量保存前一个值即可;

类型题介绍
  1. 53. 最大子序和 【简单】
  2. 198. 打家劫舍leetcode】 【简单】
  3. 面试题46. 把数字翻译成字符串leetcode】 【中等】
  4. 面试题 17.16. 按摩师leetcode】 【简单】
  5. 746. 使用最小花费爬楼梯leetcode】 【简单】
  6. 剑指 Offer 42. 连续子数组的最大和leetcode】 【简单】
  7. 面试题 08.01. 三步问题leetcode】 【简单】
  8. 70. 爬楼梯 【简单】
  9. 面试题 16.17. 连续数列 【简单】【leetcode

需要借鉴之前步骤(定义数组类型)

介绍

此类题型的特点在于,当前位置的取值,不仅与前一个位置相关,而且与其他位置相关, 所以需定义一个长度为 len+1 的向量保存之前所计算得到的值;

类型题介绍
  1. 300. 最长上升子序列 【中等】
  2. 139. 单词拆分 【中等】
  3. 983. 最低票价 【中等】
  4. 1024. 视频拼接 【中等】【leetcode
  5. 64. 最小路径和 【中等】【leetcode
  6. 279. 完全平方数 【中等】【leetcode

需要借鉴之前步骤(定义矩阵类型)

介绍

此类题型的特点在于,当前位置的取值,不仅与前一个位置相关,而且与其他位置相关, 而且该问题需要 上升 到 矩阵层次上考虑,所以需定义一个矩阵保存之前所计算得到的值;

类型题介绍
  1. 221. 最大正方形 【中等】
  2. 486. 预测赢家 【中等】
  3. 64. 最小路径和 【中等】【leetcode
0-1 背包问题

此类题型的特点在于元素要么取,要么不取

类型题介绍
  1. 416. 分割等和子集 【中等】
  2. 718. 最长重复子数组【中等】 【leetcode

未分类

  1. 在未排序链表中,怎样移除重复的节点?
  2. 牛妹的蛋糕
  3. 887. 鸡蛋掉落
  4. 0-1背包问题
  5. 322. 零钱兑换
  6. 面试题10- I. 斐波那契数列
  7. 62. 不同路径
  8. 63. 不同路径 II
  9. 837. 新21点 【中等】 【leetcode
  10. 面试题 16.11. 跳水板 【简单】 【leetcode

思路汇总

  1. 5. 最长回文子串
  2. 125. 验证回文串
  3. 242. 有效的字母异位词
  4. 387. 字符串中的第一个唯一字符
  5. 466. 统计重复个数
  6. 1371. 每个元音包含偶数次的最长子字符串
  7. 3. 无重复字符的最长子串
  8. 面试题 16.18. 模式匹配 【中等】 【leetcode
  9. 459. 重复的子字符串 【中等】 【leetcode
  10. 214. 最短回文串 【困难】 【leetcode
  11. 93. 复原IP地址leetcode】【中等】
  12. 1002. 查找常用字符leetcode】 【简单】

思路汇总

  1. 150. 逆波兰表达式求值
  2. 155. 最小栈
  3. 394. 字符串解码leetcode】【中等】
  4. 394. 字符串解码leetcode】【中等】
  5. 739. 每日温度leetcode】【中等】
  6. 85. 最大矩形leetcode】【困难】
  7. 841. 钥匙和房间leetcode】【困难】

思路汇总

  1. 插入排序
  2. 快速排序
  3. 376. 摆动序列
  4. 剑指 Offer 45. 把数组排成最小的数 【中等】leetcode
  5. 75. 颜色分类 【中等】leetcode

思路汇总

  1. 15. 三数之和
  2. 18. 四数之和
  3. 33. 搜索旋转排序数组
  4. 162. 寻找峰值
  5. 1095. 山脉数组中查找目标值
  6. 11. 盛最多水的容器
  7. 面试题 08.11. 硬币
  8. 神奇数字牛客网】 【难度:1】
  9. 69. x 的平方根 【[leetcode]](https://leetcode-cn.com/problems/median-of-two-sorted-arrays/)】 【困难】
  10. 4. 寻找两个正序数组的中位数 【[leetcode]](https://leetcode-cn.com/problems/sqrtx/)】 【简单】
  11. 1300. 转变数组后最接近目标值的数组和 【[leetcode]](https://leetcode-cn.com/problems/sum-of-mutated-array-closest-to-target/)】 【中等】
  12. 315. 计算右侧小于当前元素的个数 【[leetcode]](https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self/)】 【困难】
  13. 35. 搜索插入位置 【[leetcode]](https://leetcode-cn.com/problems/search-insert-position/)】 【简单】
  14. 167. 两数之和 II - 输入有序数组 【[leetcode]](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/)】 【简单】
  15. 392. 判断子序列 【[leetcode]](https://leetcode-cn.com/problems/is-subsequence/)】 【简单】
  16. 75. 颜色分类【[leetcode]](https://leetcode-cn.com/problems/sort-colors/)】 【中等】
  17. 977. 有序数组的平方【[leetcode]](https://leetcode-cn.com/problems/squares-of-a-sorted-array/)】 【简单】
  18. 925. 长按键入【[leetcode]](https://leetcode-cn.com/problems/long-pressed-name/)】 【简单】
  19. 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面【[leetcode]](https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/)】 【简单】

思路汇总

  1. 171. Excel表列序号
  2. 454. 四数相加 II
  3. 面试题56 - I. 数组中数字出现的次数
  4. 141. 环形链表
  5. 560. 和为K的子数组
  6. 1. 两数之和
  7. 1010. 总持续时间可被 60 整除的歌曲leetcode】【简单】
  8. 41. 缺失的第一个正数leetcode】【困难】
  9. 350. 两个数组的交集 IIleetcode】【简单】
  10. 137. 只出现一次的数字 IIleetcode】【中等】
  11. 75. 颜色分类【[leetcode]](https://leetcode-cn.com/problems/sort-colors/)】 【中等】
  12. 229. 求众数 II【[leetcode]](https://leetcode-cn.com/problems/majority-element-ii/)】 【中等】
  13. 771. 宝石与石头【[leetcode]](https://leetcode-cn.com/problems/jewels-and-stones/)】 【简单】
  14. 1365. 有多少小于当前数字的数字【[leetcode]](https://leetcode-cn.com/problems/jewels-and-stones/)】 【简单】
  15. 973. 最接近原点的 K 个点【[leetcode]](https://leetcode-cn.com/problems/jewels-and-stones/)】 【中等】

思路汇总

  1. 239. 滑动窗口最大值
  2. 347. 前 K 个高频元素
  3. 621. 任务调度器
  4. 933. 最近的请求次数
  5. 剑指 Offer 59 - II. 队列的最大值 【中等】【剑指 Offer

思路汇总

  1. 堆排序
  2. 215. 数组中的第K个最大元素
  3. 295. 数据流的中位数
  4. 378. 有序矩阵中第K小的元素

思路汇总

  1. 22. 括号生成
  2. 46. 全排列
  3. 79. 单词搜索
  4. 131. 分割回文串
  5. 200. 岛屿数量
  6. 212. 单词搜索 II
  7. 980. 不同路径 III
  8. 98. 验证二叉搜索树 【中等】
  9. 140. 单词拆分 II 【困难】
  10. 210. 课程表 IIleetcode】【中等】
  11. 1028. 从先序遍历还原二叉树leetcode】【困难】
  12. 337. 打家劫舍 IIIleetcode】【中等】
  13. 332. 重新安排行程leetcode】【中等】
  14. 216. 组合总和 IIIleetcode】【中等】
  15. 37. 解数独leetcode】【困难】
  16. 93. 复原IP地址leetcode】【中等】
  17. 40. 组合总和 IIleetcode】【中等】

思路汇总

  1. 树构建
  2. 面试题28. 对称的二叉树
  3. 104. 二叉树的最大深度
  4. 110. 平衡二叉树
  5. 111. 二叉树的最小深度
  6. 112. 路径总和
  7. 113. 路径总和 II
  8. 129. 求根到叶子节点数字之和
  9. 230. 二叉搜索树中第K小的元素
  10. 236. 二叉树的最近公共祖先
  11. 257. 二叉树的所有路径
  12. 297. 二叉树的序列化与反序列化
  13. 563. 二叉树的坡度
  14. 100. 相同的树【简单】 【leetcode
  15. 114. 二叉树展开为链表【中等】 【leetcode
  16. 107. 二叉树的层次遍历 II简单
  17. 94. 二叉树的中序遍历简单
  18. 404. 左叶子之和简单
  19. 剑指 Offer 07. 重建二叉树中等
  20. 700. 二叉搜索树中的搜索简单

思路汇总

  1. 面试题51. 数组中的逆序对

思路汇总

  1. 202. 快乐数
  2. 283. 移动零 【简单】
  3. 109. 有序链表转换二叉搜索树【[leetcode]](https://leetcode-cn.com/problems/sort-colors/)】 【中等】
  4. 763. 划分字母区间leetcode】【中等】
  5. 剑指 Offer 22. 链表中倒数第k个节点 【简单】 【leetcode
  6. 287. 寻找重复数 【中等】 【leetcode

思路汇总

  1. 1221. 分割平衡字符串leetcode】【简单】
  2. 45. 跳跃游戏 II
  3. 680. 验证回文字符串 Ⅱ
  4. 763. 划分字母区间leetcode
  5. 406. 根据身高重建队列leetcode】【中等】
  6. 134. 加油站leetcode】【中等】
  7. 135. 分发糖果leetcode】【困难】

思路汇总

思路汇总

思路汇总

  1. 210. 课程表 IIleetcode】【中等】
  2. 126. 单词接龙 IIleetcode】【困难】
  3. 127. 单词接龙 Ileetcode】【中等】
  4. 剑指 Offer 32 - II. 从上到下打印二叉树 IIleetcode】【简单】
  5. 199. 二叉树的右视图leetcode】【简单】
  6. 513. 找树左下角的值leetcode】【简单】

思路汇总

  1. 136. 只出现一次的数字
  2. 201. 数字范围按位与

思路汇总

  1. 76. 最小覆盖子串
  2. 219. 存在重复元素 IIleetcode】 【简单】
  3. 209. 长度最小的子数组
  4. 1343. 大小为 K 且平均值大于等于阈值的子数组数目
  5. 1052. 爱生气的书店老板

思路汇总

  1. 976. 三角形的最大周长 【简单】
  2. 990. 等式方程的可满足性 【中等】
  3. 9. 回文数 【中等】
  4. 67. 二进制求和leetcode】 【简单】
  5. 73. 矩阵置零leetcode】 【简单】
  6. 31. 下一个排列leetcode】 【中等】
  7. LCP 17. 速算机器人leetcode】 【简单】
  1. 75. 颜色分类 【中等】leetcode
  1. 面试题 16.16. 部分排序 【中等】leetcode
  1. 美团 2020 年春招
  2. 携程 2020 年春招

参考

  1. leetcode Study 网站
  2. 剑指 offer