Skip to content

Commit 805d2de

Browse files
committed
Daily Solutions With JS
1 parent c878059 commit 805d2de

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Medium/885. Spiral Matrix III.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var spiralMatrixIII = function(rows, cols, rStart, cStart) {
2+
let r = rStart, c = cStart, results = [];
3+
results.push([r,c]);
4+
const walk = (steps,rStep,cStep) => {
5+
for (let i =0;i<steps;i++) {
6+
r +=rStep, c+=cStep;
7+
if ( r>=0 && c >=0 && r < rows && c<cols) results.push([r,c]);
8+
}
9+
}
10+
let distance = 1;
11+
let rDirection = 0, cDirection = 1;
12+
while (results.length < rows*cols) {
13+
walk(distance,rDirection,cDirection);
14+
[rDirection,cDirection] = [cDirection,rDirection];
15+
walk(distance,rDirection,cDirection);
16+
[rDirection,cDirection] = [-1*cDirection,-1*rDirection];
17+
distance++;
18+
}
19+
return results;
20+
};

0 commit comments

Comments
 (0)