Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3dacaff

Browse files
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)

AltStyle によって変換されたページ (->オリジナル) /