@@ -24,39 +24,37 @@ function readLine() {
2424 return inputString [ currentLine ++ ] ;
2525}
2626
27- const getIndexes = ( pattern , match ) => {
27+ const getIndexes = ( pattern , match ) => {
2828 let indexes = [ ] ;
29- let i = 0 ;
29+ let i = 0 ;
3030 let index = pattern . indexOf ( match , i ) ;
31- while ( index >= 0 ) {
31+ while ( index >= 0 ) {
3232 indexes . push ( index ) ;
3333 i ++ ;
3434 index = pattern . indexOf ( match , i ) ;
3535 }
3636 return Array . from ( new Set ( indexes ) ) ;
3737}
3838function gridSearch ( G , P ) {
39- let G_length = G . length ;
40- let P_length = P . length ;
39+ let gridLength = G . length ;
40+ let patternLength = P . length ;
4141 // console.log('G_length :', G_length, ' P_length:', P_length);
42- for ( let i = 0 ; i < G . length ; i ++ ) {
43- let j = i , p = 0 ; ;
44- let currentGrid = G [ i + p ] ;
45- let currentPattern = P [ p ] ;
42+ for ( let gridIndex = 0 ; gridIndex < gridLength ; gridIndex ++ ) {
43+ let patternIndex = 0 ;
44+ let currentGrid = G [ gridIndex + patternIndex ] ;
45+ let currentPattern = P [ patternIndex ] ;
4646 let indexes = getIndexes ( currentGrid , currentPattern ) ;
4747 // console.log(indexes);
4848 for ( let k = 0 ; k < indexes . length ; k ++ ) {
4949 let pos = indexes [ k ] ;
50- if ( pos !== - 1 ) {
51- for ( p = 1 ; p < P . length ; p ++ ) {
52- currentGrid = G [ i + p ] ;
53- currentPattern = P [ p ] ;
54- if ( getIndexes ( currentGrid , currentPattern ) . indexOf ( pos ) === - 1 ) {
55- break ;
56- }
50+ for ( patternIndex = 1 ; patternIndex < patternLength ; patternIndex ++ ) {
51+ currentGrid = G [ gridIndex + patternIndex ] ;
52+ currentPattern = P [ patternIndex ] ;
53+ if ( getIndexes ( currentGrid , currentPattern ) . indexOf ( pos ) === - 1 ) {
54+ break ;
5755 }
5856 }
59- if ( p === P_length )
57+ if ( patternIndex === patternLength )
6058 return "YES" ;
6159 }
6260 }
0 commit comments