算法策略
- 分治:自頂向下,分而治之。常用遞歸。
- 動態規劃(DP):類似於分治,但會存儲每個子問題的解,避免重複計算。常用迭代。
- 貪心:類似於DP,但每步都求局部最優。計算次數往往會比DP少。凡是用貪心能解決的,DP都能解決。
實現手段
- 遞歸:A調用A自身。所有的遞歸都可以轉化成迭代。
- 迭代:A循環調用B,並不斷更新變量的舊值。
代碼實現: class solution(object): def solveNQueens(self, n): self.helper([-1]*n, 0, n) def helper(sel
動態規劃 def cut(n): if n < 2: return 0 elif n == 2: return 1 elif n == 3: return 2
代碼實現: class solution(object): def solveNQueens(self, n): self.helper([-1]*n, 0, n) def helper(sel
動態規劃 def cut(n): if n < 2: return 0 elif n == 2: return 1 elif n == 3: return 2