資料是大小寫敏感的,也就是說,"aa"
並不會被認為是乙個回文串。
給出 s ="abccccdd"
返回7
一種可以構建出來的最長回文串方案是"dccaccd"
。
雜湊表的運用。觀察回文串特點,可知如果乙個字元出現次數為偶數,則這一定可以組成回文串,如果乙個字元出現次數為大於3的奇數,則將其次數-1的偶數個字元也能組成回文串,最後如果存在奇數次數的字元,則能將該奇數次的字元放置回文串的正中間同樣為回文串,所以結果++。
public:
/*** @param s: a string which consists of lowercase or uppercase letters
* @return: the length of the longest palindromes that can be built
*/int longestpalindrome(string &s)
else if(a.second==1)//出現只有1次的字元
flag = true;
}return (flag)?++res:res;
}};
一次過 Lintcode 488 快樂數
寫乙個演算法來判斷乙個數是不是 快樂數 乙個數是不是快樂是這麼定義的 對於乙個正整數,每一次將該數替換為他每個位置上的數字的平方和,然後重複這個過程直到這個數變為1,或是無限迴圈但始終變不到1。如果可以變為1,那麼這個數就是快樂數。19 就是乙個快樂數。1 2 9 2 82 8 2 2 2 68 6...
一次過 Lintcode 496 玩具工廠
工廠模式是一種常見的設計模式。請實現乙個玩具工廠toyfactory用來產生不同的玩具類。可以假設只有貓和狗兩種玩具。toyfactory tf toyfactory toy toy tf.gettoy dog toy.talk wow toy tf.gettoy cat toy.talk meow...
一次過 Lintcode 956 資料分割
給出乙個字串str,你需要按順序提取出該字串的符號和單詞。樣例 1 輸入 str hi i am bye 輸出 hi i am bye 解釋 將符號和單詞分割。樣例 2 輸入 str ok yes 輸出 ok yes 解釋 將符號和單詞分割。樣例 3 輸入 str s 輸出 s 解釋 將符號和單詞分...