Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (是oin的說)時間1年前 (2024/02/06 13:09), 編輯推噓4(407)
留言11則, 4人參與, 1年前最新討論串654/719 (看更多)
49. Group Anagrams 給你一些字串 把他們排序好 變成vector<vector<string>> 排序的規則是 當他們擁有的字母種類數量一樣就排在一起 像是dog god dgo 就排在一起 dog god dgo pap ppa 就會變成前三個排在一起 後兩個排在一起 排在一起就好 順序沒差 解法: 把他們通通丟進map裡面就好ㄌ 然後就可以用他們的字母數量當作key 陣列裡面放字串當value 然後改變他們的value 也就是後面的字串陣列 然後再把他們塞回去題目要求的陣列陣列 就好ㄌ 這是什麼奇怪的宣告方式阿 array<int,30> 為什麼不讓我直接int abc[30] 這兩個差在哪裡 class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { map<array<int, 30>, vector<string>> paper; int len = strs.size(); for(int i = 0 ; i < len ; i ++) { int lens = strs[i].size(); array<int, 30> chs = {}; for(int j = 0 ; j < lens ; j ++) { chs[strs[i][j]-'a'] ++ ; } paper[chs].push_back(strs[i]); } vector<vector<string>> res; for(auto p : paper) { res.push_back(p.second); } return res; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.28.91 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1707196169.A.4FB.html

02/06 13:21, 1年前 , 1F
你直接把字串sort再放進map比較快
02/06 13:21, 1F

02/06 13:22, 1年前 , 2F
先sort再用好像很棒欸
02/06 13:22, 2F

02/06 13:22, 1年前 , 3F
還可以邊放邊找
02/06 13:22, 3F

02/06 13:22, 1年前 , 4F
有料
02/06 13:22, 4F

02/06 13:23, 1年前 , 5F
為什麼是30
02/06 13:23, 5F

02/06 13:26, 1年前 , 6F
因為我只記得有20幾個英文字母 忘記是幾個了
02/06 13:26, 6F

02/06 13:26, 1年前 , 7F
26
02/06 13:26, 7F

02/06 13:27, 1年前 , 8F

02/06 13:28, 1年前 , 9F
之前寫的 你參考看看
02/06 13:28, 9F

02/06 13:28, 1年前 , 10F
大師
02/06 13:28, 10F

02/06 13:31, 1年前 , 11F
:OOO 大師 我看完了 邊整理 然後塞進去
02/06 13:31, 11F
文章代碼(AID): #1bmRy9Jx (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bmRy9Jx (Marginalman)