給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。
示例:
輸入: ["eat", "tea", "tan", "ate", "nat", "bat"],
輸出:[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
說明:
所有輸入均為小寫字母。不考慮答案輸出的順序。
思路:這個題的思路非常清晰,遍歷字串陣列,對其中每乙個字串進行排序,之後如果遇到相等的字串,就說明出現字母易位詞。
1、找字母易位詞的過程用雜湊表,每當出現乙個新的字母易位詞,就往re中新增乙個空vector,並且將該vector在re中的索引值k,存成
該字母易位詞在雜湊表中的value值,並且在re[k]中push_back該詞。
2、每當出現乙個已存在的字母易位詞,在re[k]中push_back即可。
class solution );
}re[m[s[i]]].push_back(strs[i]);
}return re;
}};
49 字母異位詞分組
arrays.sort排序的時間複雜度為o slogs 外面還有n次迴圈,總共為nslogs,s為字串的長度。空間複雜度為o ns hashmap儲存了每個字串 1 我對arraylist操作不熟,還有arrays.sort 得趕緊學習了 2 乙個字串會有原始字元,所以只要知道原始字元,原始字元下一...
49 字母異位詞分組
給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 1.對每個子串排序生成乙個新的陣列,構造乙個字典d,遍歷新陣列往字典裡放 o nklogk o nk 2...
49 字母異位詞分組
給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。我們將每個字串按照字母順序排序,這樣的話就可以把 ea...