Dynamic Programming

152. Maximum Product Subarray

152. Maximum Product Subarray 這個題目算是一個比較困難一點的動態規劃題目,首先我們先了解題目,題目要求的是找的是一個子陣列,這個子陣列每個元素的積會比其他子陣列所求的積裡面還大,並求其積為多少。 題目給定的陣列沒有排序、

53. Maximum Subarray

53. Maximum Subarray 暴力解 class Solution: def maxSubArray(self, nums:

712. Minimum ASCII Delete Sum for Two Strings

712. Minimum ASCII Delete Sum for Two Strings 概念和 1143.

583. Delete Operation for Two Strings

583. Delete Operation for Two Strings 兩個單字需要刪掉的字元,恰好是他們沒有重疊的字元,他們沒有重疊的字元,所以找出兩個字元的最長公共子字串,

1143. Longest Common Subsequence

1143. Longest Common Subsequence 上課會學到的經典動態規劃問題,最長公共子序列 。 同時從兩個字字串的開頭出發 1. 如果說兩個字元一樣,那代表有一個公共子序列,

983. Minimum Cost For Tickets

983. Minimum Cost For Tickets 目標 dp[i] 是當在旅程從第 i

1109. Corporate Flight Bookings

1109. Corporate Flight Bookings 直覺的做法,直接把所有的情況窮舉,再存入到到一個矩陣,接下來就只要對矩陣做每行的總合就可以。 class Solution:

213. House Robber II

213. House Robber II 基本上先完成 198. House Robber 自頂向下或自底向上都沒關係,接著判斷要不要偷第一家或最後一家,

198. House Robber

198. House Robber 自頂向下 class Solution: def rob(self, nums:

329. Longest Increasing Path in a Matrix

329. Longest Increasing Path in a Matrix 💡在做這個題目之前可以先完成 200. Number