原题链接:883. 三维形体投影面积
solution:
x面投影是每一列投影最大值和
y面投影是每一行最大值和
柱子个数
class Solution {
public:
int projectionArea(vector<vector<int>>& grid) {
int n = grid.size();
int m = grid[0].size();
int max_x = 0;
for(int i = 0;i < n;i++){ //x面投影是每一列投影最大值和
int tmp = 0;
for(int j = 0;j < m;j++){
tmp = max(tmp,grid[i][j]);
}
max_x += tmp;
}
int max_y = 0; //y面投影是每一行最大值和
for(int i = 0;i < n;i++){
int tmp = 0;
for(int j = 0;j < m;j++){
tmp = max(tmp,grid[j][i]);
}
max_y += tmp;
}
int max_z = 0; //柱子个数
for(int i = 0;i < n;i++)
for(int j = 0;j < m;j++){
if(grid[i][j]) max_z++;
}
return max_x+max_y+max_z;
}
};