LeetCode 動態規劃題總結

2021-10-07 14:41:41 字數 2798 閱讀 2126

64 最小路徑和

思路:

dp 陣列為二維陣列,長度取決於提供陣列

陣列需初始化橫起始軸的值和豎起始軸的值,中間的值取決於上,左的值。

關鍵在於了解本值與上,左值的關係

**

class

solution

int m = grid.length;

int n = grid[0]

.length;

int[

] dp =

newint

[m][n]

; dp[0]

[0]= grid[0]

[0];

for(

int i=

1;i)for

(int i=

1;i)for

(int i=

1;ireturn dp[m-1]

[n-1];

}}

300 最長上公升子串行

思路:

dp 陣列的長度為提供的資料陣列長度

關鍵在於思考 本點和之前所有點之間的關係,從左到右思考

**:

class

solution

int[

] dp=

newint

[nums.length]

;int res=1;

dp[0]

=1;for

(int i=

1;i(dp[i]

>res)

res=dp[i];}

}return res;

}}

322 零錢兌換

思路:

dp 陣列長度不再取決於體用元素陣列長度,而是金額(其他相關引數)。

不同的金額生成不同的情況。

**:

class

solution

}return dp[amount]

==999999?-

1:dp[amount];}

}

120 三角形最小路徑和

思路:

dp 陣列的長度取決於元素陣列最長的部分。

不是二維,而是通過更新不斷變短。

思考不是從頭,而是從尾到頭。

**:

class

solution

}return dp[0]

;}}

174 地下城遊戲

思路:

dp 陣列仍取決於元素陣列

但考慮也是從尾到頭,反向思考

**:

class

solution

for(

int j=ylen-

2;j>=

0;j--

)for

(int i=xlen-

2;i>=

0;i--)}

return dp[0]

[0];

}}

5 最長回文子串

思路:

dp 陣列長度取決與元素長度。

以點為中心,向左右遍歷

**:

class

solution

int len = s.

length()

;boolean

dp =

newboolean

[len]

[len]

;int begin =

0, end =

0, max =1;

for(

int i = len -

1; i >=

0; i--)}

}}}return s.

substring

(begin, end+1)

;}}

72 編輯距離

思路:

dp 陣列長度取決於兩個字串。初始軸意味者生成這樣的字串需要多少次操作

中間的陣列意味者從橫到豎需要多少次操作。

從上,左,上左三種情況選最短的情況。

**:

class

solution

//沒有word2,只有word1的情況

for(

int i =

0; i <= len1; i++

)for

(int i =

1; i <= len1; i ++

)else

distance[i]

[j]= math.

min(math.

min(temp1, temp2)

, te***);}

}return distance[len1]

[len2];}

}

leetcode刷題總結 動態規劃

152乘積最大的連續子串行 圈複雜度很高,不要遺漏分支 vectormx len,0 vectormn len,0 213打家劫舍 ii 如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。vectors len,0 vectorn len,0 983最低票價 初始值特別要小心!我們定義 dp ...

leetcode刷題 動態規劃

動態規劃 英語 dynamic programming,簡稱 dp 是一種在數學 管理科學 電腦科學 經濟學和生物資訊學中使用的,通過把原問題分解為相對簡單的子問題的方式求解複雜問題的方法。動態規劃常常適用於有重疊子問題和最優子結構性質的問題,動態規劃方法所耗時間往往遠少於樸素解法。動態規劃背後的基...

動態規劃刷題總結

資料結構與演算法 41 動態規劃理論 最優子結構 無後效性和重複子問題 zj csdn部落格 乙個模型 多階段決策最優解模型,重點在於多階段,每個階段都對應著不同的狀態 三個特徵 最優子結構,無後效性,重複子問題。主要抓住最優子結構這一特徵,理解為後面的階段狀態可以由前面的階段狀態推導而來。狀態定義...