File tree Expand file tree Collapse file tree 1 file changed +31
-1
lines changed Expand file tree Collapse file tree 1 file changed +31
-1
lines changed Original file line number Diff line number Diff line change 55// This solution is faster than sorting each word.
66//////////////////////////////////////////////////////////////////////////////
77
8+ /** @const {!Object<string, number>} */
9+ const CODES = {
10+ a : 0 ,
11+ b : 1 ,
12+ c : 2 ,
13+ d : 3 ,
14+ e : 4 ,
15+ f : 5 ,
16+ g : 6 ,
17+ h : 7 ,
18+ i : 8 ,
19+ j : 9 ,
20+ k : 10 ,
21+ l : 11 ,
22+ m : 12 ,
23+ n : 13 ,
24+ o : 14 ,
25+ p : 15 ,
26+ q : 16 ,
27+ r : 17 ,
28+ s : 18 ,
29+ t : 19 ,
30+ u : 20 ,
31+ v : 21 ,
32+ w : 22 ,
33+ x : 23 ,
34+ y : 24 ,
35+ z : 25 ,
36+ } ;
37+
838/**
939 * @param {string[] } words
1040 * @return {string[][] }
@@ -33,7 +63,7 @@ function groupAnagrams(words) {
3363function hashWord ( word ) {
3464 const hash = new Array ( 26 ) . fill ( 0 ) ;
3565 for ( const ch of word ) {
36- ++ hash [ ch . charCodeAt ( 0 ) - 'a' . charCodeAt ( 0 ) ] ;
66+ ++ hash [ CODES [ ch ] ] ;
3767 }
3868 return hash . toString ( ) ;
3969}
You can’t perform that action at this time.
0 commit comments