1var surfaceArea = function (grid) {2let cube = 0,3overlap = 0;4for (let i = 0; i < grid.length; i++) {5for (let j = 0; j < grid[i].length; j++) {6cube += grid[i][j];7if (i > 0) {8overlap += Math.min(grid[i][j], grid[i - 1][j]);9} // x-direction10if (j > 0) {11overlap += Math.min(grid[i][j], grid[i][j - 1]);12} // y-direction13if (grid[i][j] > 1) {14overlap += grid[i][j] - 1;15} // z-direction16}17}18return cube * 6 - overlap * 2;19};