leetcode49題字母異位詞分組

2021-09-28 12:22:27 字數 636 閱讀 7409

leetcode49題字母異位詞分組

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

比如說「eat」,「tea「,」tan",「ate」,「nat」,「bat」,那麼輸出的結果就是

[「ate」,「eat」,「tea」]

[「nat」,「tan」]

[「bat」]

在這裡我們認為只有字母順序不同的字串是一起的,於是我們考慮到能否在這些只有字母不同的字串中找到共同點。如果我們對字串中的字母按照一定的順序來進行排序,那麼只有字母順序不同的字串排序得到的最終結果是相同的。

使用雜湊表的資料結構,將排序後的結果作為關鍵字,把同一類的就可以統計到一起。

class

solution

vector> res;

for(

auto item:hash) res.

push_back

(item.second)

;是string的對映位置

return res;

}}

這裡map也能實現,但是map的底層實現是平衡樹,時間複雜度是o(log(n)),而雜湊表的操作時間複雜度都是o(1)級別的。

leetcode 49 字母異位

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。通過次數80,334提交次數129,632 思路 還是...

Leetcode 49 字母異位分詞

49.字母異位詞分組 兩個for迴圈,分別判斷兩個字串出現的字母個數是否相同,相同加入同乙個list。時間複雜度基本等於o n 2 leetcode上提交是超時的。對暴力法進行改進,利用list記錄字串出現的字母個數相同的字串,同時利用hash表記錄list在ans二維列表的下標,這樣只需要遍歷一遍...

LeetCode49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。設定乙個map向量,專門用來統計字串中,所有字元出現的...