Skip to content

Commit b03dc68

Browse files
committed
feat: update solution to lc problem: No.0049
No.0049.Group Anagrams
1 parent 69d23d0 commit b03dc68

File tree

4 files changed

+35
-38
lines changed

4 files changed

+35
-38
lines changed

solution/0000-0099/0049.Group Anagrams/README.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,15 @@ func groupAnagrams(strs []string) (ans [][]string) {
221221

222222
```ts
223223
function groupAnagrams(strs: string[]): string[][] {
224-
let map = new Map();
225-
for (let str of strs) {
226-
let arr = str.split('');
227-
arr.sort();
228-
let key = arr.join('');
229-
let value = map.get(key) ? map.get(key) : [];
230-
value.push(str);
231-
map.set(key, value);
224+
const d: Map<string, string[]> = new Map();
225+
for (const s of strs) {
226+
const k = s.split('').sort().join('');
227+
if (!d.has(k)) {
228+
d.set(k, []);
229+
}
230+
d.get(k)!.push(s);
232231
}
233-
return Array.from(map.values());
232+
return Array.from(d.values());
234233
}
235234
```
236235

solution/0000-0099/0049.Group Anagrams/README_EN.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -178,16 +178,15 @@ func groupAnagrams(strs []string) (ans [][]string) {
178178

179179
```ts
180180
function groupAnagrams(strs: string[]): string[][] {
181-
let map = new Map();
182-
for (let str of strs) {
183-
let arr = str.split('');
184-
arr.sort();
185-
let key = arr.join('');
186-
let value = map.get(key) ? map.get(key) : [];
187-
value.push(str);
188-
map.set(key, value);
181+
const d: Map<string, string[]> = new Map();
182+
for (const s of strs) {
183+
const k = s.split('').sort().join('');
184+
if (!d.has(k)) {
185+
d.set(k, []);
186+
}
187+
d.get(k)!.push(s);
189188
}
190-
return Array.from(map.values());
189+
return Array.from(d.values());
191190
}
192191
```
193192

Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
class Solution {
2-
public List<List<String>> groupAnagrams(String[] strs) {
3-
Map<String, List<String>> d = new HashMap<>();
4-
for (String s : strs) {
5-
char[] t = s.toCharArray();
6-
Arrays.sort(t);
7-
String k = String.valueOf(t);
8-
d.computeIfAbsent(k, key -> new ArrayList<>()).add(s);
9-
}
10-
return new ArrayList<>(d.values());
11-
}
1+
class Solution {
2+
public List<List<String>> groupAnagrams(String[] strs) {
3+
Map<String, List<String>> d = new HashMap<>();
4+
for (String s : strs) {
5+
char[] t = s.toCharArray();
6+
Arrays.sort(t);
7+
String k = String.valueOf(t);
8+
d.computeIfAbsent(k, key -> new ArrayList<>()).add(s);
9+
}
10+
return new ArrayList<>(d.values());
11+
}
1212
}
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
function groupAnagrams(strs: string[]): string[][] {
2-
let map = new Map();
3-
for (let str of strs) {
4-
let arr = str.split('');
5-
arr.sort();
6-
let key = arr.join('');
7-
let value = map.get(key) ? map.get(key) : [];
8-
value.push(str);
9-
map.set(key, value);
2+
const d: Map<string, string[]> = new Map();
3+
for (const s of strs) {
4+
const k = s.split('').sort().join('');
5+
if (!d.has(k)) {
6+
d.set(k, []);
7+
}
8+
d.get(k)!.push(s);
109
}
11-
return Array.from(map.values());
10+
return Array.from(d.values());
1211
}

0 commit comments

Comments
 (0)