ZOYKUHot Board

jusway/leetcode_learnДокументація

算法路飞讲解leetcode算法的配套代码

Зміст (1 розділів)▾
Мовне сповіщення:Локалізована документація відсутня. Відображається офіційний англійський оригінал.
Швидке встановлення
pip install leetcode_learn

Leetcode入门和常见的算法套路

课程目标

学完本课程,就可以看懂大部分题解。因为能看懂题解了,所以就可以独立刷题了。虽然可能还是难以自信白板编码,但是已经具备自我迭代、自我练习进步的能力。

学习前提条件

Python基础素养

选题思想

Leetcode 算法是有套路的,只要掌握了套路就可以迁移到其他的题目上,省下很多功夫。每开一个专题,应该专注于把本专题的主要套路讲完(认知负担重的时候,中间可以停下来练一两道题。不常考套路可以忽略),然后就可以开新的专题了。选题范围不拘泥,Leetcode、 AcWing 、牛客网等等都可以。这个思想作为一个零基础入门速成课程已经足够。

课程列表(已讲完部分)

1 基础 【Leetcode 2235. 两整数相加】Leetcode简介、教程目标

2 数组 【Leetcode 1. 两数之和】暴力解法、哈希表、时间复杂度

3 数组 【Leetcode 167. 两数之和 II 】输入有序数组、哈希表解法、空间复杂度、双指针

4 数组 【Leetcode 209. 长度最小的子数组】滑动窗口

5 数组【Leetcode 3. 无重复字符的最长子串】集合、滑动窗口

6 数组 【Leetcode 26. 删除有序数组中的重复项】读/写指针、快速排序、双指针复杂度

7 数组 【Leetcode 704. 二分查找】log N复杂度、左闭右开区间

8 数组 【Leetcode 59. 螺旋矩阵 II】边界模拟、代码调试

9 数组 【Leetcode 59. 螺旋矩阵 II】边界收缩法(撞南墙法)

10 数组 【Leetcode 303. 区域和检索】数组不可变、面向对象简介、暴力法、前缀和

11 数组 【Leetcode 560. 和为 K 的子数组】前缀和、两数之和综合应用

12 数组 【Leetcode 1109. 航班预订统计】差分数组

13 数组 【Leetcode 56. 合并区间】区间合并套路、lambda表达式

14 数组 【Leetcode 41. 缺失的第一个正数】原地哈希

15 链表【Leetcode 206. 反转链表】链表简介、链表遍历、全新构造与原地翻转双解法

16 链表【Leetcode 21. 合并两个有序链表】虚拟头节点

17 链表【Leetcode 141. 环形链表】快慢指针套圈法

18 链表【Leetcode 142. 环形链表 II】

19 栈 【Leetcode 20. 有效的括号】栈的简介、用栈焚诀

20 栈【Leetcode 739. 每日温度】单调栈、增援未来思想

21 栈【Leetcode 155. 最小栈】同步结构记录历史状态思想

22 栈【Leetcode 227. 基本计算器 II】表达式计算绑定栈的解法

23 栈【Leetcode 394. 字符串解码】嵌套结构和括号绑定栈的解法

24 栈【Leetcode 232. 用栈实现队列】双栈互导两次反序即为正序

25 二叉树【Leetcode 144. 二叉树的前序遍历94. 二叉树的中序遍历145. 二叉树的后序遍历】递归和二叉树基础、递归本质是栈、二叉树本质是嵌套、遍历二叉树的迭代写法

26 二叉树【Leetcode 104. 二叉树的最大深度】二叉树焚诀:向左右要信息

27 二叉树【Leetcode 236. 二叉树的最近公共祖先】完备信息返回思想

28 二叉树【Leetcode 102. 二叉树的层序遍历】层序遍历(广度优先遍历)和队列

29 二叉树【Leetcode 98. 验证二叉搜索树】自顶向下信息传递思想、二叉搜索树等效于每个节点下放区间限制、剪枝、二叉搜索树的中序遍历是有序的

30 二叉树【Leetcode 105. 从前序与中序遍历序列构造二叉树】分治思想

31 回溯算法【Leetcode 77. 组合】回溯算法和多叉树、选或不选思维(二叉树模型)

32 回溯算法【Leetcode 46. 全排列】used 数组

33 回溯算法【Leetcode 78. 子集】子集的本质是所有可能的组合

34 回溯算法【Leetcode 39. 组合总和】排序后剪枝

35 回溯算法【Leetcode 40. 组合总和 II】树层去重

36 回溯算法【Leetcode 131. 分割回文串】

37 回溯算法【Leetcode 79. 单词搜索】原地占位标记法(防回头)、Counter类介绍

38 图论搜索【Leetcode 200. 岛屿数量】连通块标记法、网格题模版

39 图论搜索【Leetcode 130. 被围绕的区域】边界反向搜索、保护标记法

40 图论搜索【Leetcode 994. 腐烂的橘子】BFS(广度优先遍历)、方向数组、层序扩散 / 按轮处理

41 图论搜索【Leetcode 1091. 二进制矩阵中的最短路径】BFS 求无权图最短路径

42 图论搜索【Leetcode 207. 课程表】拓扑排序、邻接表、入度表、有向图判环

43 图论搜索【Leetcode 547. 省份数量】邻接矩阵的DFS连通块标记法

44 图论搜索【Leetcode 547. 省份数量】标签合并法(聚类)、初学并查集

45 图论搜索【Leetcode 547. 省份数量】并查集

46 动态规划【Leetcode 70. 爬楼梯】从回溯算法到动态规划、递推公式、记忆化搜索、DP数组

47 动态规划【Leetcode 198. 打家劫舍】动态规划和选或不选、动态规划的定义函数套路

48 动态规划【Leetcode 746. 使用最小花费爬楼梯】【Leetcode 91. 解码方法】(练习课)

49 动态规划【Leetcode 53. 最大子数组和】重叠子问题、滑动窗口的前提条件、范围型定义、结尾型定义

50 动态规划【Leetcode 300. 最长递增子序列】子序列与子数组、范围型定义的失效、结尾型定义练习

51 动态规划【Leetcode 62. 不同路径】二维动态规划入门、状态变量、二维填表、二维滚动数组

52 动态规划【Leetcode 1143. 最长公共子序列】字符串类型的base case、公共子序列的递推公式

53 动态规划【Leetcode 72. 编辑距离】双序列DP、前缀型定义、范围型与前缀型定义的函数代换

54 动态规划【AcWing 2. 01背包问题】ACM模式、背包型定义、背包的 Base Case 问题、倒序滚动数组

55 动态规划【Leetcode 416. 分割等和子集】01背包变体

56 动态规划【AcWing 3. 完全背包问题】多选项递归、完全背包的选或不选、状态数与转移代价分析

57 动态规划【Leetcode 322. 零钱兑换】完全背包变体、不可达值与聚合运算联动

58 动态规划【Leetcode 518. 零钱兑换 II】【Leetcode 377. 组合总和 Ⅳ】爬楼梯型DP、目标型定义

59 动态规划【Leetcode 337. 打家劫舍 III】树形DP、子树范围型定义、多状态定义

60 动态规划【Leetcode 122. 买卖股票的最佳时机 II】状态机DP入门、背包问题是特殊的状态机 DP

61 动态规划【Leetcode 309. 买卖股票的最佳时机含冷冻期】状态机 DP 练习

62 动态规划【Leetcode 516. 最长回文子序列】区间 DP、区间型定义

63 贪心算法【Leetcode 122. 买卖股票的最佳时机 II】贪心算法入门、局部最优与全局最优

64 贪心算法【Leetcode 55. 跳跃游戏】维护最远可达位置、从爬楼梯型 DP 到贪心、数据范围估算复杂度

65 贪心算法【Leetcode 45. 跳跃游戏 II】BFS 最短路径的迁移、按层贪心

Дзеркало документації архівовано з офіційного репозиторію GitHub · Перейти на GitHub
Дата знімка: 2026-11-15