class Solution {
public int surfaceArea(int[][] grid) {
int len = grid.length;
int surface1 = 0, surface2 = 0;
for(int i = 0; i < len; i++){
for(int j = 0; j < len; j++){
if (grid[i][j] > 0)
surface1 += grid[i][j]*4+2;
if (i < len - 1)
surface2+=(grid[i][j]>grid[i+1][j]?grid[i+1][j]:grid[i][j])*2;
if (j < len - 1)
surface2+=(grid[i][j]>grid[i][j+1]?grid[i][j+1]:grid[i][j])*2;
}
}
return surface1-surface2;
}
}