Re: [閒聊] 每日LeetCode

作者: Pash97143 (四葉天下第一)   2022-11-03 18:33:18
※ 引述《Rushia (みけねこ的鼻屎)》之銘言:
: 2131. Longest Palindrome by Concatenating Two Letter Words
: 給予很多個長度為2的字串,求出將這些字串任意拼接後可得的最長迴文長度。
: Exaple:
: Input: words = ["lc","cl","gg"]
: Output: 6
: Explanation: One longest palindrome is "lc" + "gg" + "cl" = "lcggcl", of
: length 6.
: Note that "clgglc" is another longest palindrome that can be created.
一開始想法是用雙重迴圈去跑後面有沒有可以回文的字串
前面答案都對但是遇到太大量的資料 會 Time Limit Exceeded
所以後來改用map來存取每個字串出現的次數
ones用來存連續字母 twos用來存不同字母的
然後twos的部分 使用map<string, pair<int, int>> 的形式 前面string先sort過
然後再用迴圈回去算就好 大約是O(n)吧
作者: Rushia (みけねこ的鼻屎)   2022-11-03 19:39:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com