3月打卡 Leetcode 409 最長回文串

2021-10-05 20:40:41 字數 684 閱讀 6139

能構成的最長回文串長度=出現偶數次字元的個數+(有出現奇數次的字元?1:0)

通過比較偶數次字元的長度和整個串的長度,來分析是否有出現奇數次的字元。

在遍歷過程中,每出現一對,cnt++,遇見兩個a出現2時,cnt++,再次遇見兩個a,次數為4,cnt++。

class

solution

return s.

length()

>cnt*

2?cnt*2+

1:cnt*2;

}};

後記

由於只會出現字元,本題也可以開乙個大小為58的陣列來統計出現次數,以下標做字母的對映,如果記不住字母對應的ascii值,可以直接開乙個128的陣列。

ascii碼:a~z:65-90a~z:97-122

快了五倍!

class

solution

return s.

length()

>cnt*

2?cnt*2+

1:cnt*2;

}};

打卡 LeetCode 409 最長回文串

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

4月打卡 Leetcode 542 01 矩陣

題目 我的比較暴力的解法 class solution vector int dy vectorint res matrix vectorint tmp int mm int max while tmp res res i j mm 1 return res bfs 多源bfs框架題解鏈結 leve...

4月打卡 Leetcode 289 生命遊戲

題目鏈結 樸素寫法 雖然思路很樸素,但是效果很好,是雙百的解法。對於邊界的處理,開乙個更大的陣列把原陣列包起來,外圍值設為0,不會影響最終值。class solution intlifevalue vectorint tmp,int i,int j 使用位運算 原地操作 參考題解 int有32位,每...