leecode 49 字母異位詞分組

2021-10-08 21:13:10 字數 734 閱讀 3497

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。

示例:

輸入: ["eat", "tea", "tan", "ate", "nat", "bat"]

輸出:[

["ate","eat","tea"],

["nat","tan"],

["bat"]

]

說明:

所有輸入均為小寫字母。

不考慮答案輸出的順序。

對於輸入的字串,排序後作為key,放到字典裡即可

class

solution

:def

groupanagrams

(self, strs: list[

str])-

> list[list[

str]]:

ch_dict =

for chs in strs:

key =

''.join(

sorted

(chs)

)if key in ch_dict:

ch_dict[key]

else

: ch_dict[key]

=[chs]

return

list

(ch_dict.values(

))

leecode49 字母異位詞分組

字母異位詞分組 找到乙個鍵值,但是有個問題在於鍵值要怎麼定,來避免衝突的雜湊位址,自然而言就想到了素數的乘積的方式。也就是給每乙個字母賦予乙個素數,以總體計算的數值作為鍵值。但是這樣會存在乙個問題,素數的成績經過後台的測試會爆int和long long,因此這道題只能用double來儲存最終的鍵值。...

49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。思路 這個題的思路非常清晰,遍歷字串陣列,對其中每乙個...

49 字母異位詞分組

arrays.sort排序的時間複雜度為o slogs 外面還有n次迴圈,總共為nslogs,s為字串的長度。空間複雜度為o ns hashmap儲存了每個字串 1 我對arraylist操作不熟,還有arrays.sort 得趕緊學習了 2 乙個字串會有原始字元,所以只要知道原始字元,原始字元下一...