1 |
動態規劃 |
DP table的狀態轉移+確定 base case |
變換目標(揹包問題,可拿出);第i個位置的值等於遍歷之前所有的dp值補上第i個位置到此位置的差值,取最大的值更新a[i] |
|
子序列問題一般可用DP來解決 |
子序列的問題,一般用DP可以來解決:用一個dp數組存儲,value爲截止到字符串1的第i個,字符串2的第j個爲止,最長的、匹配的公共子序列 |
2 |
二叉樹 |
遞歸遍歷每個結點(遍歷左右節點的順序,壓棧;直到全部出棧);驗證二叉樹;二叉搜索樹;中序遍歷(dfs的遍歷順序不同) |
引入上下邊界+DFS遞歸每個根節點 |
|
|
|
3 |
DFS |
|
|
|
|
|
4 |
BFS |
|
|
|
|
|
5 |
並查集 |
使用成爲"成爲家庭"和"找父親"的方法解決 |
|
|
|
|
6 |
字符串 |
字符串與整形的轉換;模式匹配(拼接函數:strcon(des,source));子字符串(長度最長、字典序最小) |
通過先引入當前最適合的變量,通過與當前最適合的變量相比,排除去一部分情況。 |
|
itoa(整形,字符數組名,進制;tostring()將整型轉換爲string類型;string 將字符數組轉換爲string類型 |
|
7 |
合併 |
遞歸 |
|
|
|
|
8 |
排序 |
快排:將一個數放到合適的位置,再對其左右兩邊遞歸操作。直到左邊界>=右邊界; |
|
|
|
|
9 |
數學 |
排列組合:插位置放東西 |
|
|
|
|
10 |
英文題 |
注意看題目 |
|
|
|
|
11 |
多項式 |
用數組存儲多項式的冪和係數,將相同冪的值相關起來 |
|
|
|
|
12 |
金字塔型 |
找規律:累加次數的規律 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|