leetcode演算法題 最長回文子串行

2021-10-04 14:54:19 字數 641 閱讀 1911

注意不是回文子串,子串必須是連續!

dp[i]

[j]表示字串從i到j裡最長的回文子串行長度

於是

當s[i]

==s[j]時 dp[i]

[j]=dp[i+1]

[j-1]+

2當s[i]

!=s[j]時,dp[i]

[j]=

max(dp[i+1]

[j],dp[i]

[j-1

])

最後返回dp[0][len-1]即可,下面展示自頂向下和自底向上兩種**。

**(自頂向下):

int

longestpalindromesubseq

(string s)

else}}

return dp[0]

[size-1]

;}

**(自底向上):

int

longestpalindromesubseq

(string s)

else}}

return dp[0]

[size-1]

;}

LeetCode演算法題 回文數

回文數,即乙個整數,將它各位上的數字從左到右反過來得到的數字依然等於原來的整數。如1221反過來還是1221,所以它是回文數。而 11反過來是11 所以不是回文數。那麼如何判斷乙個整數是不是回文數?將數字轉換為字串,然後反轉字串,再與之前的比較看是否相等。將整數最高位的數字取出,和整數末位的數比較是...

leetcode刷題 最長回文子串

看了一下題解,還有很多種方法,比如動態規劃,但是看了乙個下午也沒看太懂。所以就先把暴力破解弄懂吧。我這個菜雞,還要多多努力啊。主要問題在,不知道怎麼列舉字串的所有子串,題解中使用的是雙指標辦法,固定左指標,右指標移動得到全部的子串。最後,進行回文字串的驗證時,也是採用的雙指標方法來進行驗證。因此雙指...

LeetCode第409題最長回文串

題目 題目描述 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長...