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