|
|
课程目录:5 ^2 q' j7 W- x6 f. |
第一课:链表0 Z$ m+ Z. |. X, \5 P3 H+ u
1. 链表的必备知识要点(包括基础知识、刷题中使用的STL等知识)
4 x; S I# P' Y. f5 ] 2. 链表逆序(LeetCode 92,206. Reverse Linked List 1,2)
+ `) m1 F' W; l 3. 求两个链表的交点(LeetCode 160. Intersection of Two Linked Lists)
" C5 H: g5 A, j6 a8 m9 k 4. 链表的节点交换(LeetCode 24. Swap Nodes in Pairs) a+ Z9 V5 g! a! l/ a
5. 链表求环(LeetCode 141,142. Linked List Cycle 1,2)/ G, {: k( G# ~" n
6. 链表重新构造(LeetCode 86. Partition List)
5 s* D( Z0 @$ d9 _: v: T 7. 复杂的链表复制(LeetCode 138. Copy List with Random Pointer)3 p2 c1 H5 R! `; L) ~) I
8. 排序链表合并(2个与多个) (LeetCode 21,23 Merge Two(k) Sorted ListsLeetCode)9 r- V/ h8 T7 `' p" P
. ]5 u" }8 G4 ]9 ]; H6 W9 K第二课:栈、队列、堆1 i9 J9 t2 x4 T0 [2 ~" T. y5 |
1. 栈、队列知识要点与实现(数组、链表)
% P( U8 B9 }- Q9 d 2. 使用队列实现栈(LeetCode 232. Implement Queue using Stacks)' O- D3 x; m) |1 q& b) ?/ t2 T% S
3. 使用栈实现队列(LeetCode 225. Implement Stack using Queues)8 n; l' n! M. H; u( b* [" U. a' }
4. 包含min函数的栈(LeetCode 155. Min Stack)
) v- C$ l# k* f. R0 w 5. 简单的计算器(栈的应用)( LeetCode 224. Basic Calculator)* ]; U P0 B2 J/ R2 Y! k6 M
6. 堆(优先级队列)知识要点与实现" J1 v/ \7 j# K5 D" r
7. 数组中第K大的数(堆的应用) (LeetCode 215. Kth Largest Element in an Array)9 S0 t8 P5 ~8 i5 z& A/ \7 d; O1 ~
8. 寻找中位数(堆的应用)( LeetCode 295 Find Median from Data Stream)
$ H7 \* t. H! p2 o( J: l8 N0 y6 k
第三课:贪心9 Y2 L3 ?! I& v/ m& T! O+ q6 p
1. 贪心算法知识要点,刷题必备的STL知识9 V! m% ^! x( I% v k. m
2. 贪心题目1(LeetCode 455. Assign Cookies)( u' |, C& M; u, v5 ~- }8 a, K0 v( T& ]' ^
3. 贪心题目2(LeetCode 402. Remove K Digits)8 Q/ p- J6 A$ }7 m
4. 贪心题目3(LeetCode 134. Gas Station)
' l a7 B6 _# y 5. 贪心题目4(LeetCode 135. Candy)6 [5 ^( @( T+ \- D+ A# V
6. 贪心题目5(LeetCode 502. IPO)
5 t) f- z4 l5 o( g" X$ L* v 7. 贪心题目6(LeetCode 321. Create Maximum Number)8 H. g0 t0 ~" v0 r+ D
8. 贪心题目7(codeforces 582A GCD Table)
) `( a) K$ }5 f' ^
{4 T5 J+ ]0 t2 E6 ^第四课:递归、分制、回溯5 z" _. P: s+ i. y9 M' t& l: v
1. 递归的知识要点,回溯算法
* n9 Q! r# V: Q# v6 Q7 u, e 2. 生成组合数(LeetCode 39. Combination Sum, LeetCode 40. Combination Sum II): h- K+ _& I* N% w
3. 生成排列数(LeetCode 46. Permutations, LeetCode 47. Permutations II)
3 O5 _9 G0 ]8 x4 [ 4. N皇后问题(LeetCode 51. N-Queens, LeetCode 52. N-Queens II)8 o" o3 Z# T0 q" x
5. 分制算法知识要点
& y. ]& x% Z2 F* C$ ]1 t* e 6. 快速排序算法与经典实现8 ?; n% e( K: d
7. 不同的加括号方法(LeetCode 241. Different Ways to Add Parentheses)
1 R$ \( r v" P# `" D1 h 8. 两个数组的中位数(LeetCode 4. Median of Two Sorted Arrays)
8 T; ~3 x8 v# O. M) H/ c1 f. M2 |. ], }. p% m1 ~2 L' i
第五课:树与图! f" w ^7 h% `. v7 c! R' w( B% I
1. 树与图的数据结构与基本算法
: o/ N7 B" R& e0 V, b0 i 2. 树遍历的回调函数实现,并使用自动机概念实现非递归树前、中、后遍历* ?" ]) K' d" Y) y5 E6 H
3. 树与链表的转换(LeetCode 114. Flatten Binary Tree to Linked List)' e* W1 [8 D' v* R( L
4. 最近的公共祖先(LeetCode 236. Lowest Common Ancestor of a Binary Tree)
3 r, c7 ]% @. b7 F# O 5. 树的层次遍历应用(LeetCode 199. Binary Tree Right Side View)
6 r. j$ E; ^* I/ I 6. 树的改造(LeetCode 117. Populating Next Right Pointers in Each Node 1,2)/ E4 J; I { I- V/ m
7. 图的复制(LeetCode 133. Clone Graph)* {2 D4 c% j( d6 i& s
8. 图的搜索与应用(LeetCode 207.Course Schedule)
" S* e1 L+ f1 O" c' h/ F: x' U- | F
第六课:二分查找、二叉排序树、位运算的应用
4 `* x% p% [/ `4 n9 z4 _ 1. 二分查找、二叉排序树的知识要点
4 x+ w) V6 T6 B6 {9 L* m 2. 数组的二分查找(LeetCode 33,81 Search in Rotated Sorted Array 1,2)7 d G8 r$ ?9 X0 I5 h: v
3. 区间二分查找(LeetCode 34. Search for a Range)' ~. e0 s* V! v* Y8 ]3 Y$ F
4. 排序链表转换为二叉排序树(LeetCode 109. Convert Sorted List to B- Search Tree)- q& s& E: X7 C
5. 二叉排序树的遍历与改造(LeetCode 538 Convert BST to Greater Tree)
6 x) {" K; v/ O7 a 6. 二叉排序树中的第K大的数(LeetCode 230. Kth Smallest Element in a BST)
# k o7 {! K4 Y2 E" \ 7. 位运算的知识要点4 h, ?, X/ U- [
8. 使用位运算表示集合(LeetCode 78. Subsets)
4 }5 O; M! G& n& W' ^ 9. 位运算应用题目(LeetCode 136,137,260. Single Number1,2,3)
- D7 C8 X/ N j3 t$ a( X9 F' h4 ?5 c7 Y- E
第七课:哈希表与字符串
& o/ u/ F" a- U 1. 哈希表与字符串知识要点
( e) d. V+ n- S* ]! N 2. 哈希题目 (LeetCode 290. Word Pattern)8 x1 U( X8 T( P l7 E1 C/ w+ V# n: a
3. 哈希与字符串综合 (LeetCode 3.Longest Substring Without Repeating Characters)' W$ k4 P- j! z0 t- t
4. 哈希与字符串综合 (LeetCode 76. Minimum Window Substring)) K7 ?; C- ]; N6 D, C
5. 哈希与字符串综合 (LeetCode 30. Substring with Concatenation of All Words)
: M2 |0 [% X& a. c( W- F/ w+ K, B 6. 字符串题目 (LeetCode 459. Repeated Substring Pattern)( r5 g1 K. F/ M' }8 ~
7. 字符串题目 (LeetCode 468. Validate IP Address)
9 Z# V3 _4 ]. Q
% e* D6 g2 H; k I) Y9 g+ [# {第八课:搜索3 h4 o, n. d' x3 ^2 S" I
1. 深度优先搜索与广度优先搜索算法
1 G: z: m, _# f1 k$ F0 h 2. 深搜题目 (LeetCode 200. Number of Islands)
: R, e: l! i, Z 3. 深搜题目 (LeetCode 473. Matchsticks to Square)
. Q0 _; k7 c3 @( |0 f 4. 深搜题目 (LeetCode 491. Increasing Subsequences)+ ^& |* [. o: j
5. 广搜题目 (LeetCode 126,127 Word Ladder 1,2)+ |2 L% S! C. b8 V l( j
6. 广搜题目 (LeetCode 417. Pacific Atlantic Water Flow)* h) `) B0 z4 y+ W. G
7. 广搜题目 (LeetCode 407. Trapping Rain Water II)9 Q A% M" ?0 C
' O1 J9 g. O N+ F2 E+ C1 I第九课:动态规划3 i. c. M* X0 w' p+ U: m+ E
1. 动态规划知识要点
' L' S, H) V. w l' } 2. 动态规划题目1(LeetCode 120. Triangle)
8 Q& l' ~$ l) Q/ e$ t0 H+ c: \ 3. 动态规划题目2(LeetCode 53. Maximum Subarray)
6 G/ l$ v, n1 n3 z% k3 P5 w; Y 4. 动态规划题目3(LeetCode 198,213. House Robber 1,2). _9 u( O$ C5 K; |
5. 动态规划题目4(LeetCode 322. Coin Change) b! ]# p( O" R- }
6. 动态规划题目5(LeetCode 72. Edit Distance)% R/ s" E* q, F) p v
7. 动态规划题目6(LeetCode 174. Dungeon Game)
- _; |* r# x( }7 E1 H0 V2 L& u$ j 8. 动态规划题目7(codeforces 711C Coloring Trees)
. z, c8 T. E1 _. x( c: t
, M7 y/ T8 p+ k9 y2 S* W3 U4 ^2 m第十课:复杂数据结构
: d: e3 M1 ?7 z) Z0 b 1. Trie树的构造与基本算法+ h8 t" F: e# I( [) \$ S$ e
2. Trie树的构造 (LeetCode 208. Implement Trie (Prefix Tree))
0 w- Z$ B1 H# t6 U" H# {7 V7 m 3. Trie树的应用 (LeetCode 212. Word Search II)8 \. R" L7 ]8 T3 S6 B; T( c& n
4. 并查集的基本算法
V! R- p v& x4 H. s 5. 并查集的应用 (LeetCode 547. Friend Circles)( O. m, S1 A! N0 j
6. 线段树与树状数组
0 R4 J1 x2 u K4 z. i 7. 线段树与树状数组的应用(LeetCode 307. Range Sum Query – Mutable)
; L& h9 P# {: a* C6 N
+ j, f I' q# O |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|