Advertisement
kstoyanov

11. Spiral Matrix

Sep 18th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(n) {
  2.   const total = n * n;
  3.   const result = [];
  4.  
  5.   for (let i = 0; i < n; i++) {
  6.     const rs = [];
  7.     for (let j = 0; j < n; j++) {
  8.       rs.push(0);
  9.     }
  10.     result.push(rs);
  11.   }
  12.  
  13.   let x = 0;
  14.   let y = 0;
  15.   let step = 0;
  16.   for (let i = 0; i < total;) {
  17.     while (y + step < n) {
  18.       i++;
  19.       result[x][y] = i;
  20.       y++;
  21.     }
  22.     y--;
  23.     x++;
  24.  
  25.     while (x + step < n) {
  26.       i++;
  27.       result[x][y] = i;
  28.       x++;
  29.     }
  30.     x--;
  31.     y--;
  32.  
  33.     while (y >= step) {
  34.       i++;
  35.       result[x][y] = i;
  36.       y--;
  37.     }
  38.     y++;
  39.     x--;
  40.     step++;
  41.  
  42.     while (x >= step) {
  43.       i++;
  44.       result[x][y] = i;
  45.       x--;
  46.     }
  47.     x++;
  48.     y++;
  49.   }
  50.   result.forEach((row) => console.log(row.join(' ')));
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement