力扣演算法題 049字母異位分組

2022-06-04 05:45:09 字數 1192 閱讀 3499

1 #include "

000庫函式.h"2

34//笨方法,迴圈,遍歷5//

先將每個字母進行遍歷,並給排序,這樣就可以確定出有幾種字串,然後就可以開闢空間了6//

然後給每個字串進行找位子7//

笨方法,時間久 864ms ,記憶體大17.4m

8class

solution

18 st.assign(s.begin(), s.end());//

將不相同的字串儲存下來

19 res.resize(s.size());//

給res開闢空間

2021

for(auto a : strs)

28return

res;

2930}31

};32

33//

思路和上面一樣,**簡便點,減少了迴圈次數

34class

solution

45else;47

res.push_back(tmp);

48 mp[st] = j++;49}

50}51return

res;52}

53};

5455

//用字典最好

56class

solution

66for

(auto a : m)

69return

res;70}

71};

7273

74//

下面這種解法沒有用到排序,我們用乙個大小為26的int陣列來統計每個單詞中字元出現的次數,

75//

然後將int陣列轉為乙個唯一的字串,跟字串陣列進行對映,這樣我們就不用給字串排序了,

76//

**如下:

77class

solution

89for

(auto a : m)

92return

res;93}

94};

9596

void

t049() ;

101 res =s.groupanagrams(v);

102for (auto &a : res)

107 }

力扣日記 049 字母異位詞分組 雜湊表

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。雜湊表考慮使用字典。class solution de...

力扣 49 字母異位詞分組

傳送門 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 這個題用stl的容器來做會簡單很多。如何判斷兩個字串是字母異位詞,可以將這些字串按照字典進行排序,這樣排序後的字串是一樣的。這樣引入乙個hash,索引是排序後的字串,值是儲存同一字母異...

LeetCode 049 字母異位詞分組

049 字母異位詞分組 題目 給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。方法 用hashmap的...