Advertisement

LeetCode 892.三维形体的表面积:解答与代码

阅读量:

一、题目

N * N 的网格结构中,我们布置若干个 1 * 1 * 1 的立方体单元。

每个单元格 (i, j) 对应的数值 v = grid[i][j] 表示在该位置堆叠了 v 个立方体。

请计算最终形成的立体结构所具有的表面积总量。

示例 1:

复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**

提示:

  • 1 <= N <= 50
  • 0 <= grid[i][j] <= 50

二、题解思路


  • 解题思路: 通过两重循环对grid数组进行遍历,针对每个非边界位置(i,j)计算其对应的表面积。首先设定一个临时变量temp用于保存该位置的初始表面积数值(即正方体数量乘以6,再减去因叠加而遮挡的上下表面面积)。随后依次分析该位置左侧、右侧、前方及后方的正方体情况。以左侧为例(其余方向处理方式相同),若左侧正方体的高度大于或等于当前正方体的高度,则需从temp中减去grid[i][j]个单位面积;反之,则需减去左侧正方体高度gri

全部评论 (0)

还没有任何评论哟~