
字串問題有個通用的滑動窗口算法,時間復雜度O(n2) 其中關鍵: 窗口大小不固定:構造合適的count來控制窗口的滑動。 窗口大小固定:使用le...
兩個指針的問題:通過2個指針同步或不同步的移動,得到結果。時間復雜度一般會降低一個數量級。 適用于排好序的情況 86. Partition Li...
1. 位運算 2. 10進制進位,取余 3. 找規律題目 136. Single Number 利用取余操作的特性相同為0,不同為1。可以得出,...
56. Merge Intervals 融合數組的重復部分。1. 對數組進行排序。 2. 依次判斷結果數組中最后一個間隔的重疊情況。 147. ...
查找的題目基本是二分查找,排序一般是快排或歸并 快排套路是left = 0, right = x.size() - 1; while(low <...
套路很深,就是遍歷全部情況 定義解空間,包含全部解 利用深度優先搜索解空間 Trial,減枝。(避免訪問不可能產生解的子空間) 而根據條件有選擇...
動態規劃: 每一步都進行選擇,依賴于子問題的解。通常使用自底向上求解,先求較小的子問題,然后是較大的子問題。 貪心: 每次找出局部最優解。 12...
分治方法 將問題劃分成互不相交的子問題 遞歸地求解子問題 將子問題的解組合起來 動態規劃(兩個要素:最優子結構、子問題重疊) 應用于子問題重疊的...
Divide: 將問題劃分為一些子問題,子問題的形式和原問題一樣,只是規模更小。 Conquer:遞歸地求解出子問題。如果子問題的規模足夠小,則...