892 LeetCode 三维形体的表面积
程序员文章站
2024-03-15 11:31:47
...
题目描述:
思路:
首先计算总面积
然后计算重叠面积
代码如下:
class Solution {
public:
int surfaceArea(vector<vector<int>>& grid) {
int sum=0,lap=0;
for(int i=0;i<grid.size();i++){
for(int j=0;j<grid.size();j++){
sum+=6*grid[i][j];
if(grid[i][j]>0)
lap+=(grid[i][j]-1)*2;//上下
if(j<grid.size()-1)
lap+=min(grid[i][j],grid[i][j+1])*2;//前后
if(i<grid.size()-1)
lap+=min(grid[i][j],grid[i+1][j])*2;//左右
}
}
return sum-lap;
}
};
上一篇: 力扣每日一题 892. 三维形体的表面积