給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。
在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。
注意:假設字串的長度不會超過 1010。
示例 1:
輸入:「abccccdd」
輸出:7
解釋:我們可以構造的最長的回文串是"dccaccd", 它的長度是 7。
先來看寫了三遍才通過的**…
其實思路還是很明確的,
字元是偶數個肯定是回文,直接算進最大長度裡;
字元是奇數個,字元數-1,加進長度裡;
最後長度+1,單個的字元放中間就可以了。
class
solution
;int maxlength=0;
int flag=0;
for(
int i=
0; i<=s.
size()
-1; i++
)for
(int i=
0; i<
200; i++)}
return maxlength+flag;}}
;
但是我在寫的時候陷進了個坑里。
我最後輸出的的時候寫的maxlength+1;但是是錯的。。。
看下他給的檢測示例就知道為什麼錯了 (感覺好白痴) 。
每日一題力扣409
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。就是出現雙數數量的字元肯定能夠組成回文的部分。就存下來這些數量 然後對於奇數個的要其中最大的偶數個。再留下乙個原奇數個的字元,真是太神奇了。class sol...
每日一題 LeetCode
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...
LeetCode每日一題(題1028)
最近在刷leetcode每日一題,每次做完之後總能有些收穫,所以想著不如每天寫個部落格記錄一下做的題目的解法以及自己寫的時候問題出在 從先序遍歷還原二叉樹 題目大意 給出乙個字串 1 2 3 4 5 6 7 1代表節點的值,前面的 個數代表節點的深度。如果只有乙個子節點,保證這個節點為左子節點。返回...