码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode dp专题

时间:2019-07-29 00:02:54      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:ges   字符   删除   leetcode   判断   转换   The   数组   初始化   

longest valid parentheses:

dp[i]表示到i为止合法的()长度

s[i] == ‘)‘ :

dp[i] = dp[i-2] + 2                          ( s[i]==‘(‘ )

dp[i] = dp[i-1] + 2 + dp[i-dp[i-1]-2]  ( s[i-1] == ‘)‘ && s[i-1-dp[i-1]] == ‘(‘ )

注意判断数组下标值是否存在

 

72. Edit Distance

将word1转换成word2:

三种操作:插入/删除/替换 一个字符

dp[i][j]表示word1 [0, i),word2 [0, j) 子串转换成功时的最少转换次数

初始化: dp[0][j]=j 插入操作,dp[i][0]=i 删除操作

word1[i-1]==word2[j-1]: dp[i][j] = dp[i-1][j-1]

word1[i-1]!=word2[j-1]:  dp[i][j] = min(dp[i-1][j-1], min(dp[i][j-1], dp[i-1][j])) + 1;

对应三种操作:替换 dp[i-1][j-1] + 1, 删除(word1[i-1])  dp[i-1][j] + 1,

       插入(word1[i-1]后插入word2[j-1]才两个子串相同 <=> 删除word2[j-1]使得两个子串相同) dp[i][j-1] + 1 

LeetCode dp专题

标签:ges   字符   删除   leetcode   判断   转换   The   数组   初始化   

原文地址:https://www.cnblogs.com/demian/p/11261378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!