Leetcode_diary Leetcode is all you need. 日常刷Leetcode的记录 知识点2:动态规划(dynamic programming) 经典: 01背包 完全背包 多重背包问题 Easy: 70-爬楼梯 303-区域和检索 - 数组不可变 392- 判断子序列 746- 使用最小花费爬楼梯 面试题 08.01. 三步问题 剑指_Offer 42. 连续子数组的最大和 面试题 17.16. 按摩师 Normal: 面试题 08.11. 硬币 面试题 08.11. 零钱兑换 剑指 Offer 14- I. 剪绳子 剑指 Offer 47. 礼物的最大价值 剑指 Offer 63. 股票的最大利润 面试题 01.05. 一次编辑 面试题 08.02. 迷路的机器人 300. 最长递增子序列 Hard: 知识点3:字符串(character string) Easy: 面试题 01.02. 判定是否互为字符重排 面试题 01.03. URL化 面试题 01.06. 字符串压缩 面试题 01.09. 字符串轮转 面试题 01.04. 回文排列 剑指 Offer 58 - I. 翻转单词顺序 剑指 Offer 58 - II. 左旋转字符串 Normal: 面试题 08.09. 括号 面试题 17.15. 最长单词 面试题 05.02. 二进制数转字符串 剑指 Offer 67. 把字符串转换成整数 面试题 17.13. 恢复空格 Hard: 知识点5:树(tree) Easy: 剑指 Offer 27. 二叉树的镜像 面试题 04.02. 最小高度树 面试题 04.04. 检查平衡性 剑指 Offer 28. 对称的二叉树 剑指 Offer 32 - II. 从上到下打印二叉树 II 剑指 Offer 55 - I. 二叉树的深度 剑指 Offer 54. 二叉搜索树的第k大节点 剑指 Offer 55 - II. 平衡二叉树 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 剑指 Offer 68 - II. 二叉树的最近公共祖先 面试题 17.12. BiNode Normal: 面试题 04.03. 特定深度节点链表 面试题 04.05. 合法二叉搜索树 面试题 04.06. 后继者 Hard: 知识点6:深度优先搜索(DFS) Easy: 面试题 08.10. 颜色填充 Normal: 剑指 Offer 34. 二叉树中和为某一值的路径 面试题 16.19. 水域大小 面试题 04.12. 求和路径 Hard: 知识点7:贪心算法 Easy: 409. 最长回文串 455. 分发饼干 561. 数组拆分 I 605. 种花问题 300. 最长递增子序列 Normal: 剑指 Offer 45. 把数组排成最小的数 剑指 Offer 45. 部分排序 面试题 10.11. 峰与谷 LCP 30. 魔塔游戏 Hard: 知识点8:哈希表 Easy: 面试题 01.01. 判定字符是否唯一 面试题 02.01. 移除重复节点 面试题 02.07. 链表相交 剑指 Offer 03. 数组中重复的数字 剑指 Offer 39. 数组中出现次数超过一半的数字 剑指 Offer 50. 第一个只出现一次的字符 剑指 Offer 52. 两个链表的第一个公共节点 剑指 Offer 53 - II. 0~n-1中缺失的数字 面试题 16.15. 珠玑妙算 面试题 17.04. 消失的数字 Normal: 面试题 17.17. 多次搜索 面试题 16.25. LRU缓存 面试题 17.22. 单词转换 面试题 17.05. 字母与数字 Hard: 知识点9:二分查找 Easy: 面试题 08.03. 魔术索引 i+=1 面试题 10.05. 稀疏数组搜索 剑指 Offer 11. 旋转数组的最小数字 剑指 Offer 57. 和为s的两个数字 剑指 Offer 53 - I. 在排序数组中查找数字 I Normal: 面试题 16.06. 最小差 剑指 Offer 04. 二维数组中的查找 剑指 Offer 44. 数字序列中某一位的数字 面试题 10.09. 排序矩阵查找 面试题 16.21. 交换和 Hard: 知识点10:广度优先搜索 Easy: Normal: 面试题 04.01. 节点间通路 剑指 Offer 13. 机器人的运动范围 剑指 Offer 32 - I. 从上到下打印二叉树 剑指 Offer 32 - III. 从上到下打印二叉树 III Hard: 知识点11:排序(sorting) Easy: 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 剑指 Offer 40. 最小的k个数 剑指 Offer 61. 扑克牌中的顺子 面试题 10.01. 合并排序的数组 Normal: Hard: 面试题 08.13. 堆箱子 知识点12:双指针(Double pointer) Easy: 面试题 02.06. 回文链表 剑指 Offer 06. 从尾到头打印链表 剑指 Offer 22. 链表中倒数第k个节点 Normal: Hard: 知识点13:回溯算法(Backtracking) Easy: Normal: 面试题 08.04. 幂集 剑指 Offer 12. 矩阵中的路径 剑指 Offer 38. 字符串的排列 面试题 08.08. 有重复字符串的排列组合 Hard: 知识点17:图 Easy: 997. 找到小镇的法官 1791. 找出星型图的中心节点 Normal: Hard: 知识点18:链表 Easy: 面试题 02.03. 删除中间节点 面试题 02.03. 删除中间节点 剑指 Offer 24. 反转链表 剑指 Offer 18. 删除链表的节点 Normal: 面试题 02.05. 链表求和 剑指 Offer 35. 复杂链表的复制 剑指 Offer 36. 二叉搜索树与双向链表 Hard: 知识点19:堆 Easy: 506. 相对名次 703. 数据流中的第K大元素 剑指 Offer 40. 最小的k个数 1046. 最后一块石头的重量 Normal: Hard: 知识点20:递归 Easy: 509. 斐波那契数 剑指 Offer 62. 圆圈中最后剩下的数字 面试题 08.06. 汉诺塔问题 Normal: 面试题 08.05. 递归乘法 剑指 Offer 16. 数值的整数次方 剑指 Offer 64. 求1+2+…+n Hard: 知识点21:并查集 Easy: Normal: 128. 最长连续序列 Hard: 知识点22:Sliding Window Easy: Normal: Hard: 知识点23:分治算法 Easy: Normal: Hard: 知识点24:字典树 Easy: Normal: Hard: 知识点25:线段树 Easy: Normal: Hard: 知识点26:Ordered Map Easy: Normal: Hard: 知识点27:队列 Easy: Normal: Hard: 知识点28:几何 Easy: Normal: Hard: 知识点29:Line Sweep Easy: Normal: Hard: 知识点30:极小化极大 Easy: Normal: Hard: 知识点31:树状数组 Easy: Normal: Hard: 知识点32:脑经急转弯 Easy: Normal: Hard: 知识点33:二叉搜索树 Easy: Normal: Hard: 知识点34:Random Easy: Normal: Hard: 知识点35:拓扑排序 Easy: Normal: Hard: 知识点36:记忆化 Easy: Normal: Hard: 知识点37:Rejection Sampling Easy: Normal: Hard: 知识点38:蓄水池抽样 Easy: Normal: Hard: