I really wanna stop,but I just gotta taste for it.
目录标题
对极客大学算法训练营的题目做一个分类,方便后续查看。
第01课丨数据结构与算法总览
1). 数据结构脑图
2). 自己画的脑图:(感觉有些凌乱,之后会逐步进行补充,完善,整理)
3). 其中的一些分支,之前有画一些小型分类的脑图:
数据结构基础脑图:数据结构基础脑图.note
树 的 脑图:树的脑图.note
排序算法脑图:排序算法脑图.note
第02课丨训练准备和复杂度分析
如何理解算法时间复杂度的表示法
第03课丨数组、链表、跳表
数组:
简单:
中等:
链表:
第04课丨栈、队列、优先队列、双端队列
简单:
LeetCode - 剑指 Offer 59 - I. 滑动窗口的最大值(双端队列)
LeetCode -844. 比较含退格的字符串(栈、双指针)
第05课丨哈希表、映射、集合
简单:
LeetCode - 202. 快乐数(快慢指针、哈希表)——快慢指针、判断链表是否有环
LeetCode - 169.多数元素(哈希表、分治)【map的几种遍历方式】
LeetCode - 242.有效的字母异位词(逻辑暴力,排序,哈希) 3
LeetCode - 1207. 独一无二的出现次数(哈希表)
LeetCode - 1365. 有多少小于当前数字的数字(哈希表、排序)
中等:
第06课丨树、二叉树、二叉搜索树
LeetCode - 94、144、145. 二叉树的前、中、后序遍历(不咋会,需要多看)重点!!
LeetCode - 589. N叉树的前序遍历、后序遍历、层序遍历(递归、迭代)
LeetCode - 235. 二叉搜索树的最近公共祖先(树的遍历,一次遍历、两次遍历)
LeetCode - 236. 二叉树的最近公共祖先(树的遍历)
第07课丨泛型递归、树的递归
简单:
LeetCode - 70. 爬楼梯(人肉递归、动态规划)2
LeetCode - 104.二叉树的最大深度(递归)1 (需要补充迭代的代码)
LeetCode - 111.二叉树的最小深度(递归)1 (需要补充迭代的代码)
中等:
LeetCode - 98. 验证二叉搜索树(迭代、递归)2
困难:
第08课丨分治、回溯
LeetCode - 50. Pow(x,n) 计算 x 的 n 次幂函数(递归,分治的思想)
第09课丨深度优先搜索和广度优先搜索
中等:
LeetCode 102. 二叉树的层序遍历(广度优先遍历BFS)
Leetcode - 515. 在每个树行中找最大值 (BFS、DFS)
第10课丨贪心算法
简单:
LeetCode - 455. 分发饼干(贪心 + 双指针)
LeetCode - 122. 买卖股票的最佳时机II(贪心算法、数组、动态规划)
中等:
困难:
第11课丨二分查找
简单:
LeetCode - 69. x 的平方根(二分查找、牛顿法)
LeetCode - 367. 有效的完全平方数(二分查找、牛顿法)
中等:
LeetCode - 74. 搜索二维矩阵(二分法)
LeetCode - 33. 搜索旋转排序数组(暴力、二分)
第12课丨动态规划(重点!!!!!!!!!)
中等:
LeetCode - 53. 最大子序和(分治、动态规划)---- 题解 python
LeetCode - 62. 不同路径 (动态规划、递归、自底向上)
LeetCode - 63. 不同路径II(动态规划、递归)
LeetCode - 70. 爬楼梯(人肉递归、动态规划)2
LeetCode - 120. 三角形最小路径和(动态规划、递归、记忆搜索)
LeetCode - 322. 零钱兑换(递归、记忆化搜索、动态规划、广度优先)
LeetCode - 1143. 最长公共子序列(动态规划)
LeetCode - 面试题 01.05. 一次编辑(动态规划)
实战题目
LeetCode - 198. 打家劫舍(动态规划)——(程序员面试金典 - 面试题 17.16. 按摩师)
高级 DP 实战题目
-
72. 编辑距离 (重点)
第13课丨字典树和并查集
字典树:
LeetCode - 208. 实现 Trie (前缀树)(字典树)
并查集:
第14课丨高级搜索
【极客大学-算法训练营】高级搜索:剪枝、双向BFS、启发式搜索(A*)
剪枝:
• 70. 爬楼梯
• 22. 括号生成
• 51. N 皇后
• 36. 有效的数独
• 37. 解数独
双向BFS:
• 127. 单词接龙
• 433. 最小基因变化
启发式搜索(A*):
• 1091. 二进制矩阵中的最短路径
• 773. 滑动谜题
• 37. 解数独
第15课丨红黑树和AVL树
第16课丨位运算
第17课丨布隆过滤器和LRU缓存
LeetCode - 146. LRU 缓存机制(不会,重点!!!!)
第18课丨排序算法
第19课丨高级动态规划
第20课丨字符串算法
可参考链接:【庄小炎】字符串算法
字符串基础问题
题解: LeetCode - 字符串基础问题(另附以上题目解析)
字符串操作问题
题解:LeetCode - 字符串操作问题(另附以上题目解析)
异位词问题
回文串问题
最长子串、子序列问题
字符串 +DP 问题
字符串课后作业:
- https://leetcode-cn.com/problems/first-unique-character-in-a-string/
- https://leetcode-cn.com/problems/string-to-integer-atoi/
- https://leetcode-cn.com/problems/reverse-string-ii/
- https://leetcode-cn.com/problems/reverse-words-in-a-string/
- https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
- https://leetcode-cn.com/problems/reverse-only-letters/
- https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/
- https://leetcode-cn.com/problems/longest-palindromic-substring/
- https://leetcode-cn.com/problems/isomorphic-strings/
- https://leetcode-cn.com/problems/valid-palindrome-ii/
- https://leetcode-cn.com/problems/wildcard-matching
- https://leetcode-cn.com/problems/longest-valid-parentheses
- https://leetcode-cn.com/problems/distinct-subsequences/