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