Leecode 892. 三维形体的表面积

简介: Leecode 892. 三维形体的表面积

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

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

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

示例 1:

输入:[[2]]

输出:10

示例 2:

输入:[[1,2],[3,4]]

输出:34

示例 3:

输入:[[1,0],[0,2]]

输出:16

示例 4:

输入:[[1,1,1],[1,0,1],[1,1,1]]

输出:32

示例 5:

输入:[[2,2,2],[2,1,2],[2,2,2]]

输出:46

来源:力扣(LeetCode)

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

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

具体的图形解法可以参照

微信公众号:

甜姨的奇妙冒险

class Solution {
    public int surfaceArea(int[][] grid) {
        int result = 0;
        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[0].length; j++) {
                result += getFaceNum(grid, i, j);
            }
        }
        return result;
    }
    private int getFaceNum(int[][] grid, int i, int j) {
        if (grid[i][j] == 0){
            return 0;
        }
        int faceNum = grid[i][j] * 4 + 2;
        if (i - 1 >= 0) {
            faceNum -= Math.min(grid[i][j], grid[i - 1][j]);
        }
        if (j - 1 >= 0) {
            faceNum -= Math.min(grid[i][j], grid[i][j - 1]);
        }
        if (i + 1 < grid.length) {
            faceNum -= Math.min(grid[i][j], grid[i + 1][j]);
        }
        if (j + 1 < grid[0].length) {
            faceNum -= Math.min(grid[i][j], grid[i][j + 1]);
        }
        return faceNum;
    }
}


相关文章
|
7月前
|
存储 Serverless C++
[C++/PTA] 计算正方体、圆柱体的表面积、体积
[C++/PTA] 计算正方体、圆柱体的表面积、体积
126 0
|
传感器 机器学习/深度学习 算法
【方位估计 】基于music算法均匀线阵的标量阵与矢量阵的方位估计附Matlab源码
【方位估计 】基于music算法均匀线阵的标量阵与矢量阵的方位估计附Matlab源码
Leecode 695. 岛屿的最大面积
Leecode 695. 岛屿的最大面积
44 0
|
机器学习/深度学习 传感器 算法
基于A星算法求解六边形栅格地图路径规划附matlab代码
基于A星算法求解六边形栅格地图路径规划附matlab代码
|
机器学习/深度学习 传感器 算法
【布局优化】基于遗传算法求解矩形零件排列问题附matlab代码
【布局优化】基于遗传算法求解矩形零件排列问题附matlab代码
|
图形学
【计算机图形学】期末复习part2:二维与三维图形变换
【计算机图形学】期末复习part2:二维与三维图形变换
203 0
【计算机图形学】期末复习part2:二维与三维图形变换
每日一题—— 三维形体投影面积
每日一题—— 三维形体投影面积
121 0
每日一题—— 三维形体投影面积
|
机器学习/深度学习 传感器 算法
【特征选择】时变正弦和 V 形传递函数 (BMPA-TVSinV) 的新型二元海洋捕食者算法附matlab代码
【特征选择】时变正弦和 V 形传递函数 (BMPA-TVSinV) 的新型二元海洋捕食者算法附matlab代码
|
Python
LeetCode每日一题——883. 三维形体投影面积
在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。
126 0
LeetCode每日一题——883. 三维形体投影面积