leetcode 49字母異位詞分組

2021-10-02 08:45:27 字數 646 閱讀 3902

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

示例:

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

輸出:[

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

["nat","tan"],

["bat"]

]

難點在於如何快速確定字母異位詞

仔細分析上面案例發現

字母異位詞 =每個字母數量一樣

比如

abc 表示為 「#1#1#1#0.....」
class p4903

}return res;

}}

從左往右一共26個#,每個#後的字元都表示 從a到z對應字母個數

時間複雜度:o(nk),其中 n 是 strs 的長度,而 k 是 strs 中字串的最大長度

時間複雜度:o(nklogk),其中 n 是 strs 的長度,而 k 是 strs 中字串的最大長度

因為字串需要排序複雜度為klogk

就不具體實現了,只是具體判斷字串相等的方式改變了。

LeetCode49 字母異位詞分組

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

LeetCode 49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。這道題的意思就是把含有相同字母的單詞歸類而已,思路其實...

LeetCode 49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 此題輸入的是乙個字串陣列,遍歷該陣列,然後將每個字串排序,排序後的字串作為 鍵 存入雜湊表,對應的...