|
|
课程目录:
% L/ E1 o/ c% D: o( N第一课:链表( {* @6 ]" w4 x2 v; y" H
1. 链表的必备知识要点(包括基础知识、刷题中使用的STL等知识)
~7 g9 J! {8 t" v* F 2. 链表逆序(LeetCode 92,206. Reverse Linked List 1,2)+ b1 X! J1 e+ w; X
3. 求两个链表的交点(LeetCode 160. Intersection of Two Linked Lists)
$ R1 l! O2 i! l1 ^( ] 4. 链表的节点交换(LeetCode 24. Swap Nodes in Pairs)
0 u5 R x6 Q# W* }8 I 5. 链表求环(LeetCode 141,142. Linked List Cycle 1,2)
5 i& u8 z4 t. u3 z D, d 6. 链表重新构造(LeetCode 86. Partition List)
9 o' z3 p. e7 E8 ~7 C& `* v 7. 复杂的链表复制(LeetCode 138. Copy List with Random Pointer)
1 G. L6 h5 A0 T4 F9 f8 | 8. 排序链表合并(2个与多个) (LeetCode 21,23 Merge Two(k) Sorted ListsLeetCode)/ q$ ` i/ g4 k" g: w( @
- J" e, w2 ], ?8 z第二课:栈、队列、堆
, _( a3 O4 j7 ^! e+ _ 1. 栈、队列知识要点与实现(数组、链表)$ ~$ n2 }1 ?0 w) h/ ?% K8 P
2. 使用队列实现栈(LeetCode 232. Implement Queue using Stacks)
, u l$ y ~7 I 3. 使用栈实现队列(LeetCode 225. Implement Stack using Queues)
: F& {+ O' z$ l2 P$ D- `7 Z 4. 包含min函数的栈(LeetCode 155. Min Stack); I; y+ K" v" m7 H2 J
5. 简单的计算器(栈的应用)( LeetCode 224. Basic Calculator)( w, R1 O$ g/ \2 K& e0 S
6. 堆(优先级队列)知识要点与实现! s9 k6 _0 ]9 [1 H7 u
7. 数组中第K大的数(堆的应用) (LeetCode 215. Kth Largest Element in an Array)- @6 }& k6 G: ^/ J
8. 寻找中位数(堆的应用)( LeetCode 295 Find Median from Data Stream)
+ o& I9 j$ C2 g
6 Q. K( h: t" S+ |2 }, q第三课:贪心
$ E& Z/ Z; I! n5 g6 | 1. 贪心算法知识要点,刷题必备的STL知识
5 E" L1 r2 R4 o 2. 贪心题目1(LeetCode 455. Assign Cookies)* J! R0 y) c) W; D3 f5 q ^0 t
3. 贪心题目2(LeetCode 402. Remove K Digits)' Y6 W1 [3 p$ b4 d
4. 贪心题目3(LeetCode 134. Gas Station)
* J/ s0 p- H* P: m( Z# F4 X$ x" A 5. 贪心题目4(LeetCode 135. Candy)
7 S y) m* Z G6 K 6. 贪心题目5(LeetCode 502. IPO)
- L5 h+ J" Y" E; Y# O 7. 贪心题目6(LeetCode 321. Create Maximum Number)3 L8 t% M0 A9 @4 _: f' Q
8. 贪心题目7(codeforces 582A GCD Table)
) ?$ |3 v0 t, ~. L* t
- }5 f) `' E' }" z第四课:递归、分制、回溯( G' u, E& A; y
1. 递归的知识要点,回溯算法
9 \. p/ F+ u3 B5 V( f8 {, p% u 2. 生成组合数(LeetCode 39. Combination Sum, LeetCode 40. Combination Sum II)4 K4 m4 e/ K8 B. h* p9 T
3. 生成排列数(LeetCode 46. Permutations, LeetCode 47. Permutations II)* y6 ~0 ~+ k1 \( I
4. N皇后问题(LeetCode 51. N-Queens, LeetCode 52. N-Queens II)* Q# q" v6 J9 Q( v/ H- a
5. 分制算法知识要点) h& J: `: D2 O
6. 快速排序算法与经典实现$ Q6 K( }& O' i; ^4 ^7 F+ f
7. 不同的加括号方法(LeetCode 241. Different Ways to Add Parentheses)
; S, [: C& ?' l0 |2 `: | 8. 两个数组的中位数(LeetCode 4. Median of Two Sorted Arrays)( o# ]$ J! W7 n8 X6 F o3 Q
' B: p+ F l1 S: X7 I第五课:树与图# i. I! w0 E7 p5 b7 T
1. 树与图的数据结构与基本算法
. Y) w8 G; L8 k& J4 z" d+ [ 2. 树遍历的回调函数实现,并使用自动机概念实现非递归树前、中、后遍历4 i: w4 x) n+ g1 b4 v* L
3. 树与链表的转换(LeetCode 114. Flatten Binary Tree to Linked List)
7 k3 b, @* ?1 h1 C 4. 最近的公共祖先(LeetCode 236. Lowest Common Ancestor of a Binary Tree)
& V( s( d+ U5 M- Y8 J% s 5. 树的层次遍历应用(LeetCode 199. Binary Tree Right Side View)
* u, t& z/ h( l8 _ 6. 树的改造(LeetCode 117. Populating Next Right Pointers in Each Node 1,2)# P) R: i* {& H; y; E! _
7. 图的复制(LeetCode 133. Clone Graph)
6 i Q9 k8 E7 u) t 8. 图的搜索与应用(LeetCode 207.Course Schedule)
& ^5 {9 v0 N" { o! m+ C1 H) A8 l% ] z! ~+ Z" _! u' u( N
第六课:二分查找、二叉排序树、位运算的应用
& q# d2 |/ P. a2 [! E2 t { 1. 二分查找、二叉排序树的知识要点
3 H, Z# {9 v& S. V) o 2. 数组的二分查找(LeetCode 33,81 Search in Rotated Sorted Array 1,2)
- G; B5 |3 i& ~ h/ A 3. 区间二分查找(LeetCode 34. Search for a Range), U& R2 O3 c. P
4. 排序链表转换为二叉排序树(LeetCode 109. Convert Sorted List to B- Search Tree)
; K& w7 @4 |* N( K6 V+ a L" p% p 5. 二叉排序树的遍历与改造(LeetCode 538 Convert BST to Greater Tree)0 |$ Y& t, R. B$ P* Q! J! J
6. 二叉排序树中的第K大的数(LeetCode 230. Kth Smallest Element in a BST)/ z# O, h$ J" c* w
7. 位运算的知识要点9 C8 Z k+ V9 A: @
8. 使用位运算表示集合(LeetCode 78. Subsets)
' h+ t' I1 Q0 S( j! C/ m$ t# b: L 9. 位运算应用题目(LeetCode 136,137,260. Single Number1,2,3)
g, u' K9 }" i7 O9 Z7 v& P% p% m3 m. {
第七课:哈希表与字符串+ C0 i3 I8 e$ X. E- D
1. 哈希表与字符串知识要点0 u$ a- I- x+ C5 T
2. 哈希题目 (LeetCode 290. Word Pattern)3 @9 a& [+ k) B- [8 `/ G
3. 哈希与字符串综合 (LeetCode 3.Longest Substring Without Repeating Characters)
6 Z a3 x2 s/ g/ t 4. 哈希与字符串综合 (LeetCode 76. Minimum Window Substring)
+ M y4 q& Q7 P7 v4 m' h6 |4 Q 5. 哈希与字符串综合 (LeetCode 30. Substring with Concatenation of All Words)2 a: V2 m' S2 F+ G: o! t
6. 字符串题目 (LeetCode 459. Repeated Substring Pattern)9 k5 h r- R! h( x L
7. 字符串题目 (LeetCode 468. Validate IP Address)
. H7 G2 J8 j8 C9 k* J3 Z& O8 X$ J: t. z9 ]# t; J# i
第八课:搜索
4 G9 `( s# g# d+ ]+ Z 1. 深度优先搜索与广度优先搜索算法/ P( R% y6 p/ Z" w$ Y0 v2 T/ e9 P
2. 深搜题目 (LeetCode 200. Number of Islands)1 s2 I3 Y8 X) R) o* [+ @6 W u' I/ f
3. 深搜题目 (LeetCode 473. Matchsticks to Square)
) ?8 z6 y4 D* M. s9 T 4. 深搜题目 (LeetCode 491. Increasing Subsequences)1 p0 I5 G; T2 q8 |0 _# b
5. 广搜题目 (LeetCode 126,127 Word Ladder 1,2)
6 e1 _$ K9 Z! t 6. 广搜题目 (LeetCode 417. Pacific Atlantic Water Flow)$ z, R; ~6 X# G: w- R+ X
7. 广搜题目 (LeetCode 407. Trapping Rain Water II)7 J7 r& E+ V# S" @; P; g9 B
O9 ]" M( x& C8 U2 m7 |6 K第九课:动态规划
# D) P) M4 ?( W, V- Q1 }* k ? 1. 动态规划知识要点) F$ t1 e) e9 D) j
2. 动态规划题目1(LeetCode 120. Triangle)
8 V$ {$ b: Z0 H/ W% Z 3. 动态规划题目2(LeetCode 53. Maximum Subarray); |. p% i; m3 K; J \) N
4. 动态规划题目3(LeetCode 198,213. House Robber 1,2)
8 W1 W: }$ }& w' F 5. 动态规划题目4(LeetCode 322. Coin Change)
# o+ A8 A2 K$ v6 V0 L N% e 6. 动态规划题目5(LeetCode 72. Edit Distance); i3 P& A! x7 l% I8 G+ U
7. 动态规划题目6(LeetCode 174. Dungeon Game) p) h M( V/ {) @0 M* g
8. 动态规划题目7(codeforces 711C Coloring Trees)9 T/ p" F' \! R- H* f" A
2 U6 H$ B4 `8 ~9 I) \3 J8 t) @" O, m第十课:复杂数据结构9 ~, ^( K+ J& k5 Z/ r
1. Trie树的构造与基本算法
* \* u7 n8 k/ \! N1 F3 ^1 K+ T 2. Trie树的构造 (LeetCode 208. Implement Trie (Prefix Tree))$ }8 b: R# I% s
3. Trie树的应用 (LeetCode 212. Word Search II)
) X9 J- e2 Z' @' L! c 4. 并查集的基本算法$ ^0 i2 q; Q5 u+ M8 |. q
5. 并查集的应用 (LeetCode 547. Friend Circles)
# C( X n/ h! l' D 6. 线段树与树状数组
* u1 X5 ~* J3 a! i+ `$ ~ 7. 线段树与树状数组的应用(LeetCode 307. Range Sum Query – Mutable)
3 d1 G: v/ r+ E& K# H0 I5 {9 ]8 j4 X! X
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|