力扣記錄題思路(動態規劃篇)

2021-09-25 15:13:13 字數 713 閱讀 8518

5.最長回文子串:

(1)找中心:如果中心點的左邊和右邊值都相等,此子串就是乙個回文子串,然後往外擴大去判斷

(2)動態規劃,k表示 i 和 j 的間隔長度,i 表示子串的首字元,j 表示子串的尾字元,先找到子串長度為0,1,2的所有回文子串,然後其他的更大的回文子串會判斷:

dp[i + 1][j - 1] && s[i] == s[j]
10.正規表示式匹配(沒想好)

44.萬用字元

32.最長有效括號:

(1) 使用棧,遇到(就入棧,遇到)就出棧,結果數加2

(2)動態規劃,dp[i]表示長度為i的子串的有效個數,首先找到「......)」這個位置,此位置dp[i]=dp[i-2]+2

然後再找"......))",如果s[i-dp[i-1]-1]是"(",則 dp[i]=dp[i-1]+dp[i-dp[i-1]-2]+2。dp[i-1]+2是前乙個有效子串的有效個數

是這種情況「()(())」

53.  最大子序和:

(1)動態規劃:  陣列arr[-2,1,-3,4,-1,2,1,-5,4]    連續子陣列 [4,-1,2,1] 的和最大,為 6。

sum儲存連續和,ans是最後結果,首先sum=0,如果sum>0, sum += arr[i]  如果sum<0,sum=arr[i] ,

ans=max(sum,ans);

62. 不同路徑:

動態規劃 力扣542 01矩陣

給定乙個由 0 和 1 組成的矩陣 mat 請輸出乙個大小相同的矩陣,其中每乙個格仔是 mat 中對應位置元素到最近的 0 的距離。兩個相鄰元素間的距離為 1 示例 輸入 mat 0,0,0 0,1,0 0,0,0 輸出 0,0,0 0,1,0 0,0,0 一般來說,因為這道題涉及到四個方向上的最近...

力扣刷題 2 剪繩子II(動態規劃)

給你一根長度為 n 的繩子,請把繩子剪成整數長度的 m 段 m n都是整數,n 1並且 m 1 每段繩子的長度記為 k 0 k 1 k m 請問 k 0 k 1 k m 可能的最大乘積是 多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到 的最大乘積是18。答案需要取模...

力扣22 括號生成(動態規劃)

力扣22.括號生成 動態規劃 數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且 有效的 括號組合。示例 1 輸入 n 3 輸出 示例 2 輸入 n 1 輸出 1 n 8 反思 首先,面向小白 什麼是動態規劃?在此題中,動態規劃的思想類似於數學歸納法,當知道所有 i當我們清楚...