leetcode 字母異位詞分組 python3

2021-10-08 14:13:16 字數 1175 閱讀 3839

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

示例:

輸入:

["eat"

,"tea"

,"tan"

,"ate"

,"nat"

,"bat"

]輸出:[[

"ate"

,"eat"

,"tea"],

["nat"

,"tan"],

["bat"

]]

說明:

所有輸入均為小寫字母。

不考慮答案輸出的順序。

python中使用」字典「維護乙個分組表,鍵值(key)為排序後的字串,值(value)為子分組的下標

result=[[

"ate"

,"eat"

,"tea"],

["nat"

,"tan"],

["bat"

]]

group=

每次對字串排序後加入對應的分組中,或者建立新的分組

class

solution

:def

groupanagrams

(self, strs: list[

str])-

> list[list[

str]]:

newstrs =

group =

for i in

range

(len

(strs)):

temp_list =

list

(strs[i]

) temp_list.sort(

) sorted_string=

"".join(temp_list)

if sorted_string in group:

newstrs[group[sorted_string]])

else

: group[sorted_string]

=len

(group)

[strs[i]])

return newstrs

leetcode 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 hash map.一種更好的思路是用素數表示26個字母,然後用map。class solution...

leetcode 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。分析 兩個方法 1.對每個單詞進行字典序排序,排序結果...

LeetCode 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。解 錯位詞就是兩個字串中字母出現的次數都一樣,只是位置...