Skip to content

Commit 91f32d6

Browse files
committed
Feat: 49. Group Anagrams
1 parent d35c23f commit 91f32d6

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

group-anagrams/HC-kang.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* https://leetcode.com/problems/group-anagrams/description
3+
* T.C: O(n * m * log(m)), n = strs.length, m = max(strs[i].length)
4+
* S.C: O(n * m)
5+
*/
6+
function groupAnagrams(strs: string[]): string[][] {
7+
const map = new Map<string, string[]>();
8+
9+
for (const str of strs) { // O(n)
10+
const sorted = str.split('').sort().join(''); // O(m * log(m))
11+
12+
if (map.has(sorted))
13+
map.get(sorted)!.push(str);
14+
else
15+
map.set(sorted, [str]);
16+
}
17+
18+
return Array.from(map.values());
19+
}

0 commit comments

Comments
 (0)