@@ -30,51 +30,51 @@ The substring with start index = 2 is "ab", which is an anagram of "ab".
3030 * @param {string } p
3131 * @return {number[] }
3232 */
33- var findAnagrams = function ( s , p ) {
34- if ( s . length < p . length ) { return [ ] }
33+ var findAnagrams = function ( s , p ) {
34+ if ( s . length < p . length ) { return [ ] ; }
3535
3636 let start = 0 ;
3737 let end = p . length - 1 ;
3838 let hashBuild = { } ;
3939 let countLeft = p . length ;
40- let anagrams = [ ]
40+ let anagrams = [ ] ;
4141
4242 for ( let e = 0 ; e < p . length ; e ++ ) {
43- hashBuild [ p [ e ] ] = hashBuild [ p [ e ] ] !== undefined ? hashBuild [ p [ e ] ] + 1 : 1 ;
43+ hashBuild [ p [ e ] ] = hashBuild [ p [ e ] ] !== undefined ? hashBuild [ p [ e ] ] + 1 : 1 ;
4444 }
4545
4646 for ( let i = start ; i < end ; i ++ ) {
47- if ( hashBuild [ s [ i ] ] !== undefined ) {
48- hashBuild [ s [ i ] ] = hashBuild [ s [ i ] ] - 1 ;
49- if ( hashBuild [ s [ i ] ] >= 0 ) {
50- countLeft -- ;
51- }
47+ if ( hashBuild [ s [ i ] ] !== undefined ) {
48+ hashBuild [ s [ i ] ] = hashBuild [ s [ i ] ] - 1 ;
49+ if ( hashBuild [ s [ i ] ] >= 0 ) {
50+ countLeft -- ;
5251 }
52+ }
5353 }
5454
5555 while ( end < s . length ) {
56- // check left
57- if ( hashBuild [ s [ end ] ] !== undefined ) {
58- hashBuild [ s [ end ] ] = hashBuild [ s [ end ] ] - 1 ;
59- if ( hashBuild [ s [ end ] ] >= 0 ) {
60- countLeft -- ;
61- }
62- if ( countLeft == 0 ) {
63- anagrams . push ( start ) ;
64- }
56+ // check left
57+ if ( hashBuild [ s [ end ] ] !== undefined ) {
58+ hashBuild [ s [ end ] ] = hashBuild [ s [ end ] ] - 1 ;
59+ if ( hashBuild [ s [ end ] ] >= 0 ) {
60+ countLeft -- ;
6561 }
62+ if ( countLeft == 0 ) {
63+ anagrams . push ( start ) ;
64+ }
65+ }
6666
67- // check right
68- if ( hashBuild [ s [ start ] ] !== undefined ) {
69- hashBuild [ s [ start ] ] = hashBuild [ s [ start ] ] + 1 ;
70- if ( hashBuild [ s [ start ] ] >= 1 ) {
71- countLeft ++ ;
72- }
67+ // check right
68+ if ( hashBuild [ s [ start ] ] !== undefined ) {
69+ hashBuild [ s [ start ] ] = hashBuild [ s [ start ] ] + 1 ;
70+ if ( hashBuild [ s [ start ] ] >= 1 ) {
71+ countLeft ++ ;
7372 }
73+ }
7474
75- // slide window
76- end ++ ;
77- start ++ ;
75+ // slide window
76+ end ++ ;
77+ start ++ ;
7878 }
7979
8080 return anagrams ;
0 commit comments