/**
 * @param {number[][]} grid
 * @return {number[][]}
 */
var largestLocal = function (grid) {
  const size = 3, coordinate = [], result = Array.from({ length: grid.length - 2 }, () => []);
  console.log(result)

  for (let r = 0; r < grid.length; r++) {
    if ((r + size) > grid.length) continue;

    for (let c = 0; c < grid[r].length; c++) {
      if ((c + size) > grid[0].length) continue;

      //       console.log(`c:${c}`)
      //
      //       for (let e = c; e < e + 3; e++) {
      //
      //       }
      coordinate.push([r, c])
    }
    // console.log(`r:${r}`)
    // result[r].push(tmpMax);
  }

  while (0 !== coordinate.length) {
    let [r, c] = coordinate.shift();
    console.log(r, c)
    let row = r;
    let tmpMax = 0;
    for (let i = r; i < r + size; i++) {
      for (let j = c; j < c + size; j++) {
        console.log(`NIHAO: ${grid[i][j]}`)
        tmpMax = Math.max(tmpMax, grid[i][j]);
      }
      console.log(i)
      // result[i][j] = tmpMax;
      console.log(result)
    }
    result[row].push(tmpMax);
  }

  console.log(coordinate)
  console.log(result)
  return result;
};

let x = null;
// [[2,2,2],[2,2,2],[2,2,2]]
// x = largestLocal([
//   [1, 1, 1, 1, 1],
//   [1, 1, 1, 1, 1],
//   [1, 1, 2, 1, 1],
//   [1, 1, 1, 1, 1],
//   [1, 1, 1, 1, 1]
// ])

// [[9,9],[8,6]]
// x = largestLocal([
//   [9, 9, 8, 1],
//   [5, 6, 2, 6],
//   [8, 2, 6, 4],
//   [6, 2, 2, 2]
// ])
console.log(x)
console.log("Result")