题目描述:

在 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 892. 三维形体的表面积-LMLPHP

如上图:输入为:【【2,1】,【1,0】】,求这四个立方体组成的整体的表面积,立方体个数*6-接触面*2=4*6-3*2=18

class Solution {
public:
int surfaceArea(vector<vector<int>>& grid) {
int i,j,number;
int sum=,num = ;
for(i=;i<grid.size();i++)
{
for(j=;j<grid[].size();j++)
{
if(grid[i][j]!=)
{
sum = sum+grid[i][j];
}
if(grid[i][j]>)
{
num = num+grid[i][j]-;
}
if(i+ < grid[].size() && grid[i+][j] != ) //下
{
num = num+min(grid[i][j],grid[i+][j]);
}
if(j+ < grid.size() && grid[i][j+] != ) //右
{
num = num+min(grid[i][j],grid[i][j+]);
}
}
}
number = sum*-num*;
return number;
}
};

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

05-11 22:52