题目链接
英文链接:https://leetcode.com/problems/surface-area-of-3d-shapes/
中文链接:https://leetcode-cn.com/problems/surface-area-of-3d-shapes/
题目详述
在 N N 的网格上,我们放置一些 1 1 * 1 的立方体。
每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。
请你返回最终形体的表面积。
示例 1:
1 | 输入:[[2]] |
示例 2:
1 | 输入:[[1,2],[3,4]] |
示例 3:
1 | 输入:[[1,0],[0,2]] |
示例 4:
1 | 输入:[[1,1,1],[1,0,1],[1,1,1]] |
示例 5:
1 | 输入:[[2,2,2],[2,1,2],[2,2,2]] |
提示:
- 1 <= N <= 50
- 0 <= grid[i][j] <= 50
题目详解
方法一:直接计算所有不重叠的面积。
- 枚举每一个点,首先加上上下两面的面积。
- 然后枚举上下左右四个方向,加上不重叠的面积。
1 | public class LeetCode_00892 { |
方法二:先计算总面积,再减去重叠的部分。
- 枚举每一个点,首先加上这个小长方体的表面积。
- 然后减去与前面长方体重叠的面积、与左边长方体重叠的面积。
1 | public class LeetCode_00892 { |