Skip to content

Commit 3dacaff

Browse files
committed
refractored the code
1 parent da99bb8 commit 3dacaff

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

the-grid-search.js

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}
3838
function 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

Comments
 (0)