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

2021-10-02 14:50:28 字數 1178 閱讀 7183

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

示例:輸入: [「eat」, 「tea」, 「tan」, 「ate」, 「nat」, 「bat」],

輸出:[ [「ate」,「eat」,「tea」], [「nat」,「tan」], [「bat」]]

說明:所有輸入均為小寫字母。不考慮答案輸出的順序。

雜湊表考慮使用字典。

class

solution

:def

groupanagrams

(self, strs)

: d=

for i in strs:

l=str(

sorted

(list

(i))

) val=d.get(l,

) d[l]

=val

ls=[i for i in d.values()]

return ls

執行用時 :112 ms, 在所有 python3 提交中擊敗了73.20%的使用者

記憶體消耗 :16.2 mb, 在所有 python3 提交中擊敗了73.43%的使用者

sorted()函式對可迭代物件進行排序,輸出列**式。

字串的join方法相比於str直接得到字串,更省時間與空間。

d=

for i in strs:

l=''.join(

sorted

(i))

val=d.get(l,

) d[l]

=val

ls=[i for i in d.values()]

return ls

執行用時 :100 ms, 在所有 python3 提交中擊敗了93.32%的使用者

記憶體消耗 :15.9 mb, 在所有 python3 提交中擊敗了80.95%的使用者

ls=

[i for i in d.values()]

return ls

可以用return list(d.values())替代。

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

1 include 000庫函式.h 2 34 笨方法,迴圈,遍歷5 先將每個字母進行遍歷,並給排序,這樣就可以確定出有幾種字串,然後就可以開闢空間了6 然後給每個字串進行找位子7 笨方法,時間久 864ms 記憶體大17.4m 8class solution 18 st.assign s.begi...

力扣 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的...