塔子哥有一个字符串,现在他想问你,最少需要删掉多少个字符,才可以使字符串变成一个好串。
dp[i]dp[i]dp[i] 表示前 i 个字符,使得串成为好串的最小删除数
对于第 iii 个字符,可以选择删除或者不删除。
如果删除第 iii 个字符:dp[i]=dp[i−1]+1dp[i]=dp[i-1]+1dp[i]=dp[i−1]+1 如果不删除第 iii 个字符,需要有第 jjj 个字符满足 s[j]=s[i],j<is[j]=s[i], j<is[j]=s[i],j<i 且 jjj 尽可能大 ,即 dp[i]=dp[j−1]+i−j−1dp[i]=dp[j-1]+i-j-1dp[i]=dp[j−1]+i−j−1
两者取最小值即可。
本题属于以下题库,请选择所需题库进行购买
ScanQRCodePrompt
GoToPasswordLoginPrompt