LeetCode刷題分類練習


文字轉載:https://baijiahao.baidu.com/s?id=1660742044135451900&wfr=spider&for=pc

(一)分治法

適用特徵:該問題的規模縮小到一定的程度就可以容易地解決;可以分解爲若干個規模較小的相同問題,即該問題具有最優子結構性質;利用該問題分解出的子問題的解可以合併爲該問題的解;所分解出的各個子問題是相互獨立的,即子問題之間不包含公共的子子問題。

典型代表:二分搜索、棋盤覆蓋、合併排序、最接近點對問題、循環賽日程表、漢諾塔…
例題:
翻轉對
尋找兩個正序數組的中位數
計算右側小於該數的個數
天際線

(二)動態規劃法

適用特徵:該問題問題的最優解所包含的子問題的解也是最優的,即滿足最優化原理;某狀態以後的過程不會影響以前的狀態,只與當前狀態有關;子問題之間是不獨立的,一個子問題在下一階段決策中可能被多次使用到。

典型代表:最長公共子序列、最優二叉查找樹、近似串匹配問題…
例題:
戳氣球
有個解題思路的分享相當好,從回溯到分治到動態規劃。
自由之路
DI 序列的有效排列
通配符匹配
解碼方法 2

(三)貪心法

適用特徵:該問題局部最優策略能導致產生全局最優解(貪心算法適用的情況很少)。

典型代表:TSP問題(最近鄰點)、TSP問題(最短鏈接)、圖着色、揹包問題、多極度調度問題…
最大的團隊表現值
拼接最大數
情侶牽手

(四)回溯法

適用特徵:該問題是求解組合數量較大;需要找出該問題的解集(全部解)或者要求回答什麼解是滿足某些約束條件的最優解。

典型代表:哈密頓迴路問題、八皇后問題、批處理作業調度…
例題:
給表達式添加運算符
通配符匹配
N皇后
鋪瓷磚
黃金礦工
解數獨

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章