|
|
课程目录:( G3 }5 Z" W9 N6 J
第一课:链表
3 g# }3 ~! c$ z- V9 I1 h3 ?0 A3 j 1. 链表的必备知识要点(包括基础知识、刷题中使用的STL等知识)" R6 E, i+ d, y0 V
2. 链表逆序(LeetCode 92,206. Reverse Linked List 1,2)
! B2 v" e# X& f 3. 求两个链表的交点(LeetCode 160. Intersection of Two Linked Lists)
0 b7 A& V* G0 x* o2 Q9 w 4. 链表的节点交换(LeetCode 24. Swap Nodes in Pairs)* C; z9 u5 v/ o, e8 U- L
5. 链表求环(LeetCode 141,142. Linked List Cycle 1,2): P6 _/ W% Q7 j# E9 ^+ K, h
6. 链表重新构造(LeetCode 86. Partition List) + h% m2 J: R4 l/ Y" x
7. 复杂的链表复制(LeetCode 138. Copy List with Random Pointer)7 f8 k8 F0 d9 k6 E, K7 B
8. 排序链表合并(2个与多个) (LeetCode 21,23 Merge Two(k) Sorted ListsLeetCode); g9 c. [- @% E
: V' X. q: |# V0 C" l6 E! t0 R第二课:栈、队列、堆& U' P& ?! J- x5 ]: k. V
1. 栈、队列知识要点与实现(数组、链表)
. R3 y0 o6 e* J, `) E: z& T 2. 使用队列实现栈(LeetCode 232. Implement Queue using Stacks) W3 \0 e3 k5 A6 T5 t
3. 使用栈实现队列(LeetCode 225. Implement Stack using Queues)
5 Z& I" V1 Z4 C9 N# T: K# g m 4. 包含min函数的栈(LeetCode 155. Min Stack)
, c, _) K8 f$ e% T1 M) F' A& d 5. 简单的计算器(栈的应用)( LeetCode 224. Basic Calculator)
! S3 W. \ {" |( Z% w; L9 { 6. 堆(优先级队列)知识要点与实现
, A. F5 j( g3 m$ k 7. 数组中第K大的数(堆的应用) (LeetCode 215. Kth Largest Element in an Array)
3 m% o! O0 n/ p/ { 8. 寻找中位数(堆的应用)( LeetCode 295 Find Median from Data Stream)9 @1 C# c1 k* e$ l
5 {& b4 ?9 V2 y9 k5 V9 X
第三课:贪心+ a; ^1 _( s, u) i" G2 e5 X
1. 贪心算法知识要点,刷题必备的STL知识& U& k/ S. Q' T* A& E
2. 贪心题目1(LeetCode 455. Assign Cookies)
* m6 `! l( f5 n5 _, a ? 3. 贪心题目2(LeetCode 402. Remove K Digits)) Z- |" W Z D! y# k
4. 贪心题目3(LeetCode 134. Gas Station)
$ B1 V6 N9 \' f3 I# b$ s& h2 ` 5. 贪心题目4(LeetCode 135. Candy)
' ~) }8 F, `+ _ 6. 贪心题目5(LeetCode 502. IPO)
0 N2 H" F' f, T1 p 7. 贪心题目6(LeetCode 321. Create Maximum Number), U i8 U( T5 A/ p4 P7 O3 W
8. 贪心题目7(codeforces 582A GCD Table)
1 e# n4 B# B% S% R6 A
1 r0 M4 r3 L- G. w& c# @第四课:递归、分制、回溯
. ~0 e; Z' [" I7 [, \ 1. 递归的知识要点,回溯算法
1 [5 r4 I6 f6 \5 a) c- E 2. 生成组合数(LeetCode 39. Combination Sum, LeetCode 40. Combination Sum II)5 s! f, X4 Z. F$ o. _
3. 生成排列数(LeetCode 46. Permutations, LeetCode 47. Permutations II)8 ?8 R |4 @" R: U3 u' L& \8 s0 M
4. N皇后问题(LeetCode 51. N-Queens, LeetCode 52. N-Queens II)1 F9 Q- Y8 R/ v3 ?( R
5. 分制算法知识要点! |! m: E$ a2 k
6. 快速排序算法与经典实现( ^, s# A6 V. x" {
7. 不同的加括号方法(LeetCode 241. Different Ways to Add Parentheses)4 g3 |( i2 t% r5 U0 j$ y
8. 两个数组的中位数(LeetCode 4. Median of Two Sorted Arrays)
* g9 E' j3 R2 H4 L
: e) V m; }5 H. @- b5 f, A第五课:树与图& V4 \2 O: E o8 A7 o! Q( W6 L: Z
1. 树与图的数据结构与基本算法
5 A( x& I2 V d N4 B 2. 树遍历的回调函数实现,并使用自动机概念实现非递归树前、中、后遍历
( { F! H* E0 e" ]' L, b, r$ O9 ] 3. 树与链表的转换(LeetCode 114. Flatten Binary Tree to Linked List)
6 U' J4 f2 S! {$ y6 e N9 k9 S 4. 最近的公共祖先(LeetCode 236. Lowest Common Ancestor of a Binary Tree)
/ I+ i5 j* k: w" k6 X/ @# i 5. 树的层次遍历应用(LeetCode 199. Binary Tree Right Side View)6 V: C. w2 `! H# J. u& D
6. 树的改造(LeetCode 117. Populating Next Right Pointers in Each Node 1,2)
; y) Q) q+ d: F 7. 图的复制(LeetCode 133. Clone Graph)1 ~. q/ a! y$ X& ^
8. 图的搜索与应用(LeetCode 207.Course Schedule)- |, E6 _& a: a5 G
- q! z7 W: k, ]1 M) ^第六课:二分查找、二叉排序树、位运算的应用3 x) o) D( D; t$ h
1. 二分查找、二叉排序树的知识要点
+ P2 U, Y9 m7 g. q& | 2. 数组的二分查找(LeetCode 33,81 Search in Rotated Sorted Array 1,2)
* B, {- B. D5 M( K5 A2 D 3. 区间二分查找(LeetCode 34. Search for a Range)% t* k7 v: U% R2 |+ { S
4. 排序链表转换为二叉排序树(LeetCode 109. Convert Sorted List to B- Search Tree)
& H; ]* D5 |( `2 u 5. 二叉排序树的遍历与改造(LeetCode 538 Convert BST to Greater Tree)1 R! G$ ~1 S8 B! @' E
6. 二叉排序树中的第K大的数(LeetCode 230. Kth Smallest Element in a BST)
* S$ o D+ |/ c 7. 位运算的知识要点
% R$ A+ Y# ^/ i3 Y' E# @* j/ L! J3 m 8. 使用位运算表示集合(LeetCode 78. Subsets)
9 X ]1 J2 F; \+ l0 s% S# b 9. 位运算应用题目(LeetCode 136,137,260. Single Number1,2,3)% t9 C1 p0 c V
_% l: l5 l9 h) t* c) ?第七课:哈希表与字符串
& E$ [' k, [+ J+ g 1. 哈希表与字符串知识要点
! W! Y* E- k2 F. B 2. 哈希题目 (LeetCode 290. Word Pattern)
- h6 _& n3 J7 L( u# n' _ 3. 哈希与字符串综合 (LeetCode 3.Longest Substring Without Repeating Characters)1 T( n& K ]& ~, |- Y6 H B
4. 哈希与字符串综合 (LeetCode 76. Minimum Window Substring)
9 z+ _* C. X8 I! B 5. 哈希与字符串综合 (LeetCode 30. Substring with Concatenation of All Words)
" W- c; a" }1 Z6 s) h5 D' I: L9 O 6. 字符串题目 (LeetCode 459. Repeated Substring Pattern)
/ f: u7 S) p; } 7. 字符串题目 (LeetCode 468. Validate IP Address)
0 |5 s+ N- C6 X6 Z! [+ K- u) p
6 P4 k. t! Q# d第八课:搜索
4 l+ D* v; O/ s$ C- ^ Y 1. 深度优先搜索与广度优先搜索算法) Y/ G- ` {4 |" }: p6 J3 ~! l
2. 深搜题目 (LeetCode 200. Number of Islands)
8 u! r; F0 Q3 a' s" Y 3. 深搜题目 (LeetCode 473. Matchsticks to Square): p S) ~2 E& h
4. 深搜题目 (LeetCode 491. Increasing Subsequences): {- @ T$ N" O7 {% u
5. 广搜题目 (LeetCode 126,127 Word Ladder 1,2)
. X( W% B4 f2 u7 j2 D) }! } 6. 广搜题目 (LeetCode 417. Pacific Atlantic Water Flow)
# Y9 a, N5 n1 x3 n 7. 广搜题目 (LeetCode 407. Trapping Rain Water II)* @ D B9 d* Z2 ~
8 G% I! t! m& D p, g
第九课:动态规划2 q' X# F; C, B' X! l9 O' e
1. 动态规划知识要点8 E9 d% `* A4 d6 f, j, r
2. 动态规划题目1(LeetCode 120. Triangle)
0 W) I' z- U8 {8 z* F6 V 3. 动态规划题目2(LeetCode 53. Maximum Subarray)# u9 U' ^+ o/ G+ ?
4. 动态规划题目3(LeetCode 198,213. House Robber 1,2)
# @) `6 N( g& ?9 E 5. 动态规划题目4(LeetCode 322. Coin Change)
0 e; s$ k4 P2 i. f8 Y 6. 动态规划题目5(LeetCode 72. Edit Distance)
9 l# z5 S! ~5 d* d4 y+ | 7. 动态规划题目6(LeetCode 174. Dungeon Game)
% I$ h2 x# ]/ r# j5 h) H 8. 动态规划题目7(codeforces 711C Coloring Trees)8 ^4 K, _8 C# x8 T: ]! l" ]
: ~5 i, r. F7 e V: A
第十课:复杂数据结构
1 ?8 n) ?8 }9 {) N- Y" w, L 1. Trie树的构造与基本算法
$ M& a1 [4 \& S4 c$ Y8 p 2. Trie树的构造 (LeetCode 208. Implement Trie (Prefix Tree))& a1 p' X5 v' X" }
3. Trie树的应用 (LeetCode 212. Word Search II)
( A! }* ?) w: ]3 q0 f/ d; x 4. 并查集的基本算法
) C2 J$ n) \ O% r- A 5. 并查集的应用 (LeetCode 547. Friend Circles)% {. ^+ [ T9 u1 X1 P$ u
6. 线段树与树状数组
) U0 o" Y0 G4 n4 A ` 7. 线段树与树状数组的应用(LeetCode 307. Range Sum Query – Mutable)
; D" h/ q! g9 x6 S9 w# o
6 i8 C. O0 W/ L9 i3 ]* F1 D |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|