最長回文子串DP

2021-08-29 20:26:34 字數 857 閱讀 2348

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。

示例 1:

輸入: "babad"

輸出: "bab"

注意: "aba"也是乙個有效答案。

示例 2:

輸入: "cbbd"

輸出: "bb"

分析:dpdp[ j ][ i ]表示從ji的子串 ,

dp[ j ][ i ]為回文串,則dp[ j+1 ][ i-1 ] 必然回文,有如下關係

dp[ j ][ i ]=true  whendp[ j+1 ][ i-1 ]  =true&&charat(i)==s.charat(j)   i - j>1;

dp[ j ][ i ]=true   when  s.charat(i)==s.charat(j)   i - j>1 ,即 i = j + 1

dp[ j ][ i ] =true   when   i=j;

static string ff(string s)}}

for (boolean booleen : dp)

system.out.println();

}return s.substring(start,start+max_len);

}

DP 最長回文子串

dp問題,最長回文子串 最長回文子串問題指的是在乙個字串中,是回文子串的長度的最大值.這裡的回文子串是連續的.如字串 patzjujztaccbcc 他的最長回文子串是 atzjujzta 長度為9,當然它還有其他回文子串如 ccbcc 但是長度不夠長.這類問題似乎有多種解法,複雜度從o n 3 到...

最長回文子串 dp

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 題目位址 回文的主要要求是 字串從中心對稱。例如 aba bb c 假設 對於乙個 字串 a?a 假定...

最長回文子串(區間dp)

輸入乙個字串str,輸出str裡最長回文子串的長度。回文串 指aba abba cccbccc aaaa這種左右對稱的字串。串的子串 乙個串的子串指此 字元 串中連續的一部分字元構成的子 字元 串 例如 abc 這個串的子串 空串 a b c ab bc abc 輸入str str的長度 1000 ...