描述
On a N * N
grid, we place some 1 * 1 * 1
cubes.
Each value v = grid[i][j]
represents a tower of v
cubes placed on top of grid cell (i, j)
.
Return the total surface area of the resulting shapes.
Example 1:
1 | Input: [[2]] |
Example 2:
1 | Input: [[1,2],[3,4]] |
Example 3:
1 | Input: [[1,0],[0,2]] |
Example 4:
1 | Input: [[1,1,1],[1,0,1],[1,1,1]] |
Example 5:
1 | Input: [[2,2,2],[2,1,2],[2,2,2]] |
Note:
1 <= N <= 50
0 <= grid[i][j] <= 50
分析
题意是给定一个二维数组 grid,grid[i][j] 表示(i, j) 上放置的立方体的数量,求这个整体的表面积。思路是先不考虑重叠的部分,根据 rid[i][j]*4+2
得到所有立方体的表面积,接在在遍历的过程中减去重叠的部分。
需要注意的是这道题跟 883. Projection Area of 3D Shapes 有点像,但还是有区别的,883 那道题是求投影,会有高的挡住矮的情况,并不是整体的表面积的一半。
解决方案1Java)
1 | class Solution { |