每日一題 最長回文串

2021-10-18 05:03:01 字數 968 閱讀 4728

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。

在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。

注意:假設字串的長度不會超過 1010。

輸入: 「abccccdd」

輸出: 7

解釋: 我們可以構造的最長的回文串是"dccaccd", 它的長度是 7。

將字串轉換為列表,再定義乙個變數接收去重後的列表,遍歷去重後的列表,如果有單個字母,就把singular置為true,否則就將2的倍數增加至res,最後判斷singular為true就在結果+1返回,否則直接返回res。

class

solution

:def

longestpalindrome

(self, s:

str)

->

int:

res =

0 list_s =

list

(s) set_s =

set(list_s)

singular =

false

for i in set_s:

if list_s.count(i)==1

: singular =

true

else

:if list_s.count(i)%2

==0: res = res + list_s.count(i)

else

: res = res + list_s.count(i)-1

singular =

true

if singular:

return res +

1return res

每日一題2 最長回文串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 要判斷乙個字串是不是回文串有點難,但如果知道它的字串是回文串,再結合新進去的字元是否符合要求,就可以只...

每日一題 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 取反轉字串,與原字串對比 例 aebcbe 第一大輪 第一小輪 aebcbe 與 ebcbea比較 第...

每日一題 49 最長回文子串

子串 字串中連續的字元片段。回文 正著看和反著看都一樣的字串。如abba和abbebba是回文,bbab不是回文。最長回文子串 對於字串的所有子串,找出是回文且最長的那乙個 舉例 1 babcbabcbaccba的最長回文子串是abcbabcba 2 bbbb的最長回文子串是其本身 這裡給出dp演算...