1、通常用陣列表示,且通常從後往前思考,程式設計從前往後迭代實現,如兩個字串的匹配
2、寫出邊界函式,遞迴規律
1、回溯法 (套用backtrack)
2、前序、後續。。
3、利用遞迴左右子樹與或,如下,先判斷當前節點node(通常以葉子節點向上考慮),在與或左右子樹。
bool haspathsum
(treenode *root,
int sum)
4、建立樹結構時,每乙個左右孩子,都同樣是root根節點,
treenode *fun(
)
n個亂序中尋找第k大的值: 利用快速排序
給定有順序的列表,第一反應應考慮 二分查詢
1、乙個數是2的指數次(1,2,4,8…),它的二進位制只有1個1,利用n&(n-1) ==0 判斷是否該數是否符合條件。
2、判斷兩個字串是否有相同字元時,可以利用二進位制方法: 』
string s=
"abcd"
;string s2=
"efdg"
;int vs =0;
for(
int j=
0;jsize()
;j++
)int vs2=..
.;vs&vs2==
0? 沒有乙個字元相同
3、桶原理
4、判斷乙個整數是否是回文,樸素方法是:化成字串檢測。
5、m[x][y] 為乙個set時,可以設定unordered_map> m;
bool operator<
(int a,
int b)
程式設計題方法總結
鍊錶 遍歷 bfs 和 dfs 本質上都是遍歷,所以只要是需要遍歷的演算法,理論上都可以使用 dfs 或者 bfs。它們各自的特點和適用場景如下 1 bfs 由於是水波紋式的擴散,它可以用於一些求解最短路徑以及最優化問題,或者是可以用貪心演算法解決的問題上,例如第 126 題 第 127 題 單詞接...
從程式設計方法到思維訓練總結
本文通過幾個例子來講述程式設計方法,通過程式設計方法達到思維訓練的目的。主要的核心設計方法是偽 法和分解法 偽 法 用來描述程式的思路,也可以用來注釋 分解法 逐步細化,分解步驟 下面我們通過幾個例子來學習偽 法和分解法 sd 以下 用python語言來編寫 概念 示例索引 分解法 分解的思想可以通...
程式設計總結
步入大學已經兩個多月了,兩個月讓我從對計算機一無所知變成了乙個稍微會一點點的菜鳥,那這兩個月我到底學到了什麼呢?一丶順序結構 課本上第一節講的就是順序結構,那按照教材的規律來看,這應該也是最簡單的一節,事實也確實如此,順序結構就是直接一串下來,標頭檔案 include包含了基本的輸入 scanf 與...