|
|
课程目录:
( i% j: t. q2 \( ?$ H1 {& _/ z# Q第一课:链表
$ L; G" K4 y% N8 h 1. 链表的必备知识要点(包括基础知识、刷题中使用的STL等知识), ?8 g4 F) {4 L" |; W
2. 链表逆序(LeetCode 92,206. Reverse Linked List 1,2)7 }, C, b- Y0 p8 J: M! L3 A1 v
3. 求两个链表的交点(LeetCode 160. Intersection of Two Linked Lists)
. b- ~$ Y- Y4 l) y 4. 链表的节点交换(LeetCode 24. Swap Nodes in Pairs)5 P, y2 E) W! A" f# v, a/ H; P
5. 链表求环(LeetCode 141,142. Linked List Cycle 1,2)
% A7 V" Z" s$ C' u6 E# O 6. 链表重新构造(LeetCode 86. Partition List)
3 O/ X; e9 U; `' A; s6 x% T6 j- M 7. 复杂的链表复制(LeetCode 138. Copy List with Random Pointer)' k8 G8 a; ?1 Q% n5 ]- `8 p A4 [
8. 排序链表合并(2个与多个) (LeetCode 21,23 Merge Two(k) Sorted ListsLeetCode)$ V' Q- i, l% @+ J! r
4 k* N) J2 n. K第二课:栈、队列、堆
7 w0 d5 N# {7 K 1. 栈、队列知识要点与实现(数组、链表)
6 g# |* C% v) f" i 2. 使用队列实现栈(LeetCode 232. Implement Queue using Stacks)4 E; r/ S6 z# R# c
3. 使用栈实现队列(LeetCode 225. Implement Stack using Queues)
9 G: @* ^2 R% y( I 4. 包含min函数的栈(LeetCode 155. Min Stack)
9 S9 ^4 i: _: K2 @' x 5. 简单的计算器(栈的应用)( LeetCode 224. Basic Calculator)8 p& |( I( M. t& ]5 _5 m4 n6 w
6. 堆(优先级队列)知识要点与实现
( \0 g" @' Q* ~# Y* y+ r 7. 数组中第K大的数(堆的应用) (LeetCode 215. Kth Largest Element in an Array)7 m; O% K, }3 c1 y( V
8. 寻找中位数(堆的应用)( LeetCode 295 Find Median from Data Stream)
" q& C6 C0 M5 `( Y
! R: O9 X5 {- u3 h5 a第三课:贪心6 u! X0 \+ q, f% W
1. 贪心算法知识要点,刷题必备的STL知识
2 t4 }6 g& G+ m 2. 贪心题目1(LeetCode 455. Assign Cookies)
. Y; O! @1 l- f$ ^+ U8 G 3. 贪心题目2(LeetCode 402. Remove K Digits)
% s# b' d! Y3 J 4. 贪心题目3(LeetCode 134. Gas Station); y; x1 K+ Q' l4 H) r6 ?
5. 贪心题目4(LeetCode 135. Candy)
, a7 d, V' x1 P2 |0 T 6. 贪心题目5(LeetCode 502. IPO); O" I6 V, Y9 h9 i8 {
7. 贪心题目6(LeetCode 321. Create Maximum Number) ]$ k! ~6 }+ l. r; F, n4 a, A9 G1 i
8. 贪心题目7(codeforces 582A GCD Table)& V+ H$ J3 p! l; E* w
7 z, \& W; B+ V( i! V+ b) j- C8 H
第四课:递归、分制、回溯; C, q9 o5 t& A
1. 递归的知识要点,回溯算法# \7 g/ k9 @4 |' B4 v$ h; ~: x9 u: ^
2. 生成组合数(LeetCode 39. Combination Sum, LeetCode 40. Combination Sum II)& {5 Z6 p) p! I; l+ t- ~
3. 生成排列数(LeetCode 46. Permutations, LeetCode 47. Permutations II)
2 W# k/ R' d& k! E 4. N皇后问题(LeetCode 51. N-Queens, LeetCode 52. N-Queens II)2 i2 ~- L+ R4 N4 i+ v, ]
5. 分制算法知识要点
7 _% ^ {6 A$ B7 Z$ i3 v B, a 6. 快速排序算法与经典实现
5 A$ U6 k; B8 m9 e6 O5 \! p 7. 不同的加括号方法(LeetCode 241. Different Ways to Add Parentheses)
! u; b. r& s& e) M! z/ X. k 8. 两个数组的中位数(LeetCode 4. Median of Two Sorted Arrays) [$ L1 X. ?8 J+ |
9 ^2 b) Y+ y6 R( G W
第五课:树与图! H( P: O3 F7 b
1. 树与图的数据结构与基本算法+ H9 }2 K, M: ]& ^; ]
2. 树遍历的回调函数实现,并使用自动机概念实现非递归树前、中、后遍历
6 G, o4 A* Q4 W9 N 3. 树与链表的转换(LeetCode 114. Flatten Binary Tree to Linked List)1 o- L* ^( ]1 Z" S
4. 最近的公共祖先(LeetCode 236. Lowest Common Ancestor of a Binary Tree)
5 H: P- N. i) F( M3 b' [ 5. 树的层次遍历应用(LeetCode 199. Binary Tree Right Side View)
9 A4 V- y* x- ~* t3 q. g( e 6. 树的改造(LeetCode 117. Populating Next Right Pointers in Each Node 1,2)
: d4 N4 e& P+ R2 H- H$ @ 7. 图的复制(LeetCode 133. Clone Graph)
. d- j- d# R* ~+ J- A7 o 8. 图的搜索与应用(LeetCode 207.Course Schedule)5 }3 q! u# Z, J6 _, j8 R
3 d, A6 r/ j* O4 ]
第六课:二分查找、二叉排序树、位运算的应用4 M! k6 b& P+ |# w) z
1. 二分查找、二叉排序树的知识要点5 Z1 H8 \% w. _" Q) a% B( c* d
2. 数组的二分查找(LeetCode 33,81 Search in Rotated Sorted Array 1,2)
# f V3 D/ x8 ?3 M* K2 d 3. 区间二分查找(LeetCode 34. Search for a Range)0 c- p8 k% N+ B) g* O+ ^4 v
4. 排序链表转换为二叉排序树(LeetCode 109. Convert Sorted List to B- Search Tree)( R0 L8 {) t! K3 G& r1 B
5. 二叉排序树的遍历与改造(LeetCode 538 Convert BST to Greater Tree)5 K. w6 w+ y7 \: `5 V
6. 二叉排序树中的第K大的数(LeetCode 230. Kth Smallest Element in a BST)
7 Z! l0 h6 k9 i3 o m 7. 位运算的知识要点- o+ i. I6 H# u/ f1 d5 Z
8. 使用位运算表示集合(LeetCode 78. Subsets)7 f+ }6 O% u3 r& K+ O% {8 L& e
9. 位运算应用题目(LeetCode 136,137,260. Single Number1,2,3)8 M( |& M p; g- B) i+ r9 A
" Q2 A& Y( N6 _$ L/ U7 K
第七课:哈希表与字符串
) y6 j2 N0 ?7 [6 J! J 1. 哈希表与字符串知识要点4 \: r8 f8 }% ~8 S, G
2. 哈希题目 (LeetCode 290. Word Pattern)
3 L6 X1 |# K# A# C% j8 U9 }# i 3. 哈希与字符串综合 (LeetCode 3.Longest Substring Without Repeating Characters)
( |. N" R2 h' h4 I' ?: A; L6 Y8 J( a 4. 哈希与字符串综合 (LeetCode 76. Minimum Window Substring)
. K# V5 l3 a! s5 q$ F! b 5. 哈希与字符串综合 (LeetCode 30. Substring with Concatenation of All Words)
& R- C# S- x; h/ }$ @! X 6. 字符串题目 (LeetCode 459. Repeated Substring Pattern)! X' {0 g6 `/ _4 ~3 U
7. 字符串题目 (LeetCode 468. Validate IP Address)
" V9 T; N2 r; R: n. h* }+ j4 v* l
第八课:搜索
/ a$ p) |" T* I2 N1 R q" P+ i% E 1. 深度优先搜索与广度优先搜索算法4 L! |$ V! b; ^- M* C. b( c( a S4 p! C' U
2. 深搜题目 (LeetCode 200. Number of Islands)
8 m { n2 F4 r* e/ `+ o, @% h 3. 深搜题目 (LeetCode 473. Matchsticks to Square)
' k7 a/ G" a1 X" {* p+ a+ Z 4. 深搜题目 (LeetCode 491. Increasing Subsequences)+ W, D4 R/ ?8 ^# f8 d
5. 广搜题目 (LeetCode 126,127 Word Ladder 1,2)- Q+ q+ h) K: T1 ^
6. 广搜题目 (LeetCode 417. Pacific Atlantic Water Flow)/ r: ^6 V& P; `
7. 广搜题目 (LeetCode 407. Trapping Rain Water II). b( D1 Z+ g! h9 T
& O7 I! L- \' |; A6 B% S第九课:动态规划$ I9 x2 z5 ?4 _3 ]% [
1. 动态规划知识要点) p7 u; G m# b
2. 动态规划题目1(LeetCode 120. Triangle)
8 U# r+ l9 u5 O+ N) \% q- @! m 3. 动态规划题目2(LeetCode 53. Maximum Subarray)
5 j! ]# o$ u. l7 S5 e5 ^) O1 O7 f 4. 动态规划题目3(LeetCode 198,213. House Robber 1,2)
t! o7 K% z! ^1 P5 w 5. 动态规划题目4(LeetCode 322. Coin Change)
' d% X* B: R b# T. { 6. 动态规划题目5(LeetCode 72. Edit Distance)' p1 ?+ R! V; G; x
7. 动态规划题目6(LeetCode 174. Dungeon Game)
5 x$ s. |4 C ^0 n8 i; O 8. 动态规划题目7(codeforces 711C Coloring Trees)
6 Y/ A$ h( s( ~* ?+ L* m) Z
; Z1 F' R9 n: j$ L- n第十课:复杂数据结构
; z+ F% R' W3 E$ _% L 1. Trie树的构造与基本算法
: u/ d9 ]* I: P! X) s 2. Trie树的构造 (LeetCode 208. Implement Trie (Prefix Tree))9 F. ?; i# m3 j9 e
3. Trie树的应用 (LeetCode 212. Word Search II)) s1 S3 H% i- Z3 a/ @' x
4. 并查集的基本算法$ j0 L- [5 R/ F
5. 并查集的应用 (LeetCode 547. Friend Circles)
' a9 I7 k8 X( U* J6 m3 N 6. 线段树与树状数组: Q1 [( k7 b& L
7. 线段树与树状数组的应用(LeetCode 307. Range Sum Query – Mutable)
K% D: S" p n! ]* d8 F* L
3 x; Q7 p) b6 D2 y2 {, U6 k) ? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|