极客时间_算法训练营(代码实现汇总)
I really wanna stop,but I just gotta taste for it.
目录标题
- 第01课丨数据结构与算法总览
- 1). 数据结构脑图
- 2). 自己画的脑图:(感觉有些凌乱,之后会逐步进行补充,完善,整理)
- 3). 其中的一些分支,之前有画一些小型分类的脑图:
- 第02课丨训练准备和复杂度分析
- 如何理解算法时间复杂度的表示法
- 第03课丨数组、链表、跳表
- 数组:
- 链表:
- 第04课丨栈、队列、优先队列、双端队列
- 第05课丨哈希表、映射、集合
- 第06课丨树、二叉树、二叉搜索树
- 第07课丨泛型递归、树的递归
- 第08课丨分治、回溯
- 第09课丨深度优先搜索和广度优先搜索
- 第10课丨贪心算法
- 第11课丨二分查找
- 第12课丨动态规划(重点!!!!!!!!!)
- 第13课丨字典树和并查集
- 第14课丨高级搜索
- 第15课丨红黑树和AVL树
- 第16课丨位运算
- 第17课丨布隆过滤器和LRU缓存
- 第18课丨排序算法
- 第19课丨高级动态规划
- 第20课丨字符串算法
对极客大学算法训练营的题目做一个分类,方便后续查看。
第01课丨数据结构与算法总览
1). 数据结构脑图
数据结构和算法脑图
2). 自己画的脑图:(感觉有些凌乱,之后会逐步进行补充,完善,整理)
链接:数据结构和算法脑图.note
3). 其中的一些分支,之前有画一些小型分类的脑图:
数据结构基础脑图:数据结构基础脑图.note
树 的 脑图:树的脑图.note
排序算法脑图:排序算法脑图.note
第02课丨训练准备和复杂度分析
如何理解算法时间复杂度的表示法
•如何理解算法时间复杂度的表示法
第03课丨数组、链表、跳表
数组:
简单:
LeetCode - 1.两数之和(暴力,哈希)2
LeetCode - 66. 加一(数学、数组)
中等:
LeetCode - 11. 盛最多水的容器 2
链表:
第04课丨栈、队列、优先队列、双端队列
简单:
LeetCode - 20.有效的括号(栈) 1
LeetCode - 155.最小栈
LeetCode - 剑指 Offer 59 - I. 滑动窗口的最大值(双端队列)
LeetCode -844. 比较含退格的字符串(栈、双指针)
第05课丨哈希表、映射、集合
简单:
LeetCode - 1.两数之和(暴力,哈希)2
LeetCode - 202. 快乐数(快慢指针、哈希表)——快慢指针、判断链表是否有环
LeetCode - 169.多数元素(哈希表、分治)【map的几种遍历方式】
LeetCode - 242.有效的字母异位词(逻辑暴力,排序,哈希) 3
LeetCode - 1160.拼写单词(哈希表)
LeetCode - 1207. 独一无二的出现次数(哈希表)
LeetCode - 1365. 有多少小于当前数字的数字(哈希表、排序)
中等:
LeetCode - 15. 三数之和 2
LeetCode - 49. 字母异位词分组(哈希)2
LeetCode - 36. 有效的数独(哈希表)
第06课丨树、二叉树、二叉搜索树
LeetCode - 94、144、145. 二叉树的前、中、后序遍历(不咋会,需要多看)重点!!
LeetCode - 589. N叉树的前序遍历、后序遍历、层序遍历(递归、迭代)
LeetCode - 235. 二叉搜索树的最近公共祖先(树的遍历,一次遍历、两次遍历)
LeetCode - 236. 二叉树的最近公共祖先(树的遍历)
第07课丨泛型递归、树的递归
…
简单:
LeetCode - 70. 爬楼梯(人肉递归、动态规划)2
LeetCode - 104.二叉树的最大深度(递归)1 (需要补充迭代的代码)
LeetCode - 111.二叉树的最小深度(递归)1 (需要补充迭代的代码)
LeetCode - 226.翻转二叉树(迭代、递归)2
中等:
LeetCode - 22. 括号的生成(递归)1
LeetCode - 98. 验证二叉搜索树(迭代、递归)2
236. 二叉树的最近公共祖先
105. 从前序与中序遍历序列构造二叉树
77. 组合
46. 全排列
47. 全排列 ii
困难:
- 297. 二叉树的序列化与反序列化
第08课丨分治、回溯
LeetCode - 50. Pow(x,n) 计算 x 的 n 次幂函数(递归,分治的思想)
LeetCode - 78. 子集(迭代、递归)
LeetCode 17. 电话号码的字母组合(回溯、递归)
LeetCode - 37. 解数独(回溯法)
LeetCode - 51. N 皇后(回溯法)
第09课丨深度优先搜索和广度优先搜索
中等:
LeetCode 102. 二叉树的层序遍历(广度优先遍历BFS)
Leetcode - 515. 在每个树行中找最大值 (BFS、DFS)
433. 最小基因变化
22. 括号生成
200. 岛屿数量
127. 单词接龙
第10课丨贪心算法
简单:
LeetCode - 455. 分发饼干(贪心 + 双指针)
LeetCode - 122. 买卖股票的最佳时机II(贪心算法、数组、动态规划)
860. 柠檬水找零
874. 模拟行走机器人
中等:
LeetCode - 55. 跳跃游戏(贪心)
困难:
45. 跳跃游戏 II
第11课丨二分查找
简单:
LeetCode - 69. x 的平方根(二分查找、牛顿法)
LeetCode - 367. 有效的完全平方数(二分查找、牛顿法)
中等:
LeetCode - 74. 搜索二维矩阵(二分法)
LeetCode - 33. 搜索旋转排序数组(暴力、二分)
- 153. 寻找旋转排序数组中的最小值
第12课丨动态规划(重点!!!!!!!!!)
中等:
LeetCode - 53. 最大子序和(分治、动态规划)---- 题解 python
LeetCode - 62. 不同路径 (动态规划、递归、自底向上)
LeetCode - 63. 不同路径II(动态规划、递归)
LeetCode - 70. 爬楼梯(人肉递归、动态规划)2
LeetCode - 120. 三角形最小路径和(动态规划、递归、记忆搜索)
LeetCode - 152. 乘积最大子数组(动态规划)
LeetCode - 322. 零钱兑换(递归、记忆化搜索、动态规划、广度优先)
LeetCode - 1143. 最长公共子序列(动态规划)
LeetCode - 面试题 01.05. 一次编辑(动态规划)
实战题目
LeetCode - 198. 打家劫舍(动态规划)——(程序员面试金典 - 面试题 17.16. 按摩师)
213. 打家劫舍 II
121. 买卖股票的最佳时机
122. 买卖股票的最佳时机 II
123. 买卖股票的最佳时机 III
309. 最佳买卖股票时机含冷冻期
188. 买卖股票的最佳时机 IV
714. 买卖股票的最佳时机含手续费
高级 DP 实战题目
279. 完全平方数
72. 编辑距离 (重点)
55. 跳跃游戏
45. 跳跃游戏 II
62. 不同路径
63. 不同路径II
980. 不同路径 III
322. 零钱兑换
518. 零钱兑换 II
32. 最长有效括号
64. 最小路径和
72. 编辑距离
91. 解码方法
221. 最大正方形
363. 矩形区域不超过 K 的最大数值和
403. 青蛙过河
410. 分割数组的最大值
552. 学生出勤记录 II
621. 任务调度器
647. 回文子串
76. 最小覆盖子串
312. 戳气球
第13课丨字典树和并查集
字典树:
LeetCode - 208. 实现 Trie (前缀树)(字典树)
- 212. 单词搜索 II
并查集:
- LeetCode - 547. 朋友圈(并查集、深度优先遍历)
- 200. 岛屿数量
- 130. 被围绕的区域
第14课丨高级搜索
【极客大学-算法训练营】高级搜索:剪枝、双向BFS、启发式搜索(A*)
剪枝:
• 70. 爬楼梯
• 22. 括号生成
• 51. N 皇后
• 36. 有效的数独
• 37. 解数独
双向BFS:
• 127. 单词接龙
• 433. 最小基因变化
启发式搜索(A*):
• 1091. 二进制矩阵中的最短路径
• 773. 滑动谜题
• 37. 解数独
第15课丨红黑树和AVL树
AVL和红黑树的一些概念
第16课丨位运算
LeetCode - 按标签分类刷题(位运算题解)
- 191. 位1的个数
- 231. 2的幂
- 190. 颠倒二进制位
- 51. N 皇后
- 52. N 皇后II
- 338. 比特位计数
第17课丨布隆过滤器和LRU缓存
布隆过滤器和LRU Cache的一些概念
LeetCode - 146. LRU 缓存机制(不会,重点!!!!)
第18课丨排序算法
1122. 数组的相对排序
242. 有效的字母异位词
LeetCode - 56. 合并区间(排序算法)
LeetCode - 493. 翻转对(归并排序)
第19课丨高级动态规划
第20课丨字符串算法
可参考链接:【庄小炎】字符串算法
字符串基础问题
- 709. 转换成小写字母
- 58. 最后一个单词的长度
- 771. 宝石与石头
- 387. 字符串中的第一个唯一字符
- 8. 字符串转换整数 (atoi)
题解: LeetCode - 字符串基础问题(另附以上题目解析)
字符串操作问题
- 14. 最长公共前缀
- 344. 反转字符串
- 541. 反转字符串 II
- 151. 翻转字符串里的单词
- 557. 反转字符串中的单词 III
- 917. 仅仅反转字母
题解:LeetCode - 字符串操作问题(另附以上题目解析)
异位词问题
- 242. 有效的字母异位
- 49. 字母异位词分组
- 438.找到字符串中所有字母异位词
LeetCode - 异位词问题(另附以上题目解析)
回文串问题
- 125. 验证回文串
- 680. 验证回文字符串 Ⅱ
- 5. 最长回文子串
LeetCode - 回文串问题(另附以上题目解析)
最长子串、子序列问题
- 1143. 最长公共子序列
- 72. 编辑距离
- 5. 最长回文子串
字符串 +DP 问题
- 10. 正则表达式匹配
- 44. 通配符匹配
- 115. 不同的子序列
字符串课后作业:
- 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/
极客时间_算法训练营(代码实现汇总)相关推荐
- 极客时间_软件设计之美 笔记
极客时间_软件设计之美 笔记 1.软件设计是什么 写代码前应该有模型设计 比如mvc结构就是一种模型 代码应该有规范, 产品内部原则 避免每个开发按自己的想法实现,有人写rest 有人写mvc 代码模 ...
- 【算法笔记】极客时间 算法面试通关40讲 笔记 覃超
[算法笔记]极客时间 算法面试通关40讲 覃超 [算法笔记]极客时间 算法面试通关40讲 覃超 相关链接 在leetcode 上的题号 数组.链表: (堆)栈stack.队列queue 优先队列 哈希 ...
- 测试 极客时间_针对数据极客和记者测试DocHive
测试 极客时间 呼吁所有数据极客和发烧友! 测试现已在DocHive 上开放- 从GitHub开始 . DocHive是一个开源的Ruby on Rails项目,用于从基于图像的PDF捕获数据. Do ...
- 极客时间Go实战训练营zui新
JK - go实战Xun练赢 下–栽のURL:ukoou.com/resource/1258 go实战xly-微服务框架RPC Go 语言的 RPC 包的路径为 net/rpc,也就是放在了 net ...
- [极客时间]《算法面试通关40讲》
算法面试通关40讲 第1课 算法与数据结构 1.1麦穗理论 1.2 硅谷工作 1.3 比特币结构 单向链表 每一个交易的记录是二叉树,这样存的好处是 只要根据根节点就可以查询到所有的节点之和是否被篡改 ...
- 极客时间大数据训练营知识总结脑图
- 笔记1 第11课 贪心初步 ——柠檬水找零,分发饼干,跳跃游戏,完成所有任务所需最小能量——极客时间算法
之前收藏了极客时间的算法训练营3期 共21课,计划每一课写博客来记录学习,主要形式为 方法类型1 题1 题解 题2 题解 方法类型2 题1 题解 -- 题目大体来自leetcode 和 acwing ...
- 笔记1 第13课 动规2 ——买卖股票最佳时机,打家劫舍,零钱找兑——极客时间算法
之前收藏了极客时间的算法训练营3期 共21课,计划每一课写博客来记录学习,主要形式为 方法类型1 题1 题解 题2 题解 方法类型2 题1 题解 -- 题目大体来自leetcode 和 acwing ...
- 极客时间和极客学院_极客奔跑
极客时间和极客学院 I'm not a natural runner. I'm reasonably fit given that I spend most of the day sat in my ...
- 极客时间-算法训练营1.2 实战题目解析:移动零
一 序 本文属于极客时间-算法训练营 学习笔记系列. 二 刷题步骤 第一遍 五分钟:读题 + 思考 直接看解法:多看几种,比较解法优劣 背诵.默写好的解法 第二遍 马上自己写 --> Leetc ...
最新文章
- 通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 解析办法
- Android Studio javadoc 生成注释文档
- Gradle for Android 第三篇( 依赖管理 )
- p2020开发_2020年最佳开发者社区
- 联想拯救者电竞手机成功“截胡”:全球首发骁龙865+
- 实现Servlet虚拟路径的映射
- sql server中除数为零的处理技巧
- AI-终极算法-遗传算法
- Java---计算器(标准计算器,科学计算器)的实现
- mysql分页查询公式
- java英文单词断行_CSS样式解决英文换行断词问题
- 分析方法选讲期末复习脉络图---完结版
- 阿里云轻量应用型服务器防火墙端口开放了还是无法访问问题@林
- 怎么选择触摸液晶广告机?
- 2021-06-14 Socketio学习使用搭建一个聊天室
- 实践▍用大数据扒一扒蔡徐坤的真假流量粉 | Alfred数据室
- c#程序设计语言杜松江版_清华大学出版社-图书详情-《C#语言Windows程序设计(第2版)》...
- 22张图带你了解IP地址有什么作用
- 在linux上安装navicat 出现使用一段时间后闪退的情况
- 1241.外卖店优先级