三维形体的表面积

问题描述:

在 N * N 的网格上,我们放置一些 1 * 1 * 1  的立方体。

每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。

请你返回最终形体的表面积。

链接:https://leetcode-cn.com/problems/surface-area-of-3d-shapes/

思路:

这道题主要的难点在于理解题意

我对题目的大概理解是:给出N*N个网格,即相当于给出N*N的二维数组grid

在网格(i,j)上叠放grid(i,j)个正方体,计算最后所得三维形体的表面积

我选择的是遍历计算出每个网格上的三维形体的表面积,然后减去该三维形体与其他三维形体接触的表面积

每个三维形体减去的是左边和下边的表面积*2,是因为考虑左边和下边的三维形体只需要再计算他们的左边和下边需要减去的面积,而不需要再考虑右边和上边,便于遍历

代码:

 

 以上,希望对各位有所帮助

200325 Rewivy

 

posted @ 2020-03-25 17:41  Rewivy  阅读(230)  评论(0编辑  收藏  举报