https://leetcode-cn.com/problems/projection-area-of-3d-shapes/
描述和示例
class Solution {
public:
int projectionArea(vector>& grid) {
int xy=0;
int xz=0;
int yz=0;
for(int i = 0;i
int nowxz = 0;
for(int j = 0;j
xy+=(grid[i][j]!=0?1:0);
nowxz=max(nowxz,grid[i][j]);
}
xz+=nowxz;
}
for(int j = 0;j
int nowyz=0;
for(int i = 0;i
nowyz=max(nowyz,grid[i][j]);
}
yz+=nowyz;
}
return xy+xz+yz;
}
};
分析:
题目:
给定一个数组
数组的中元素a表示:
在a所在的位置(i,j)上放a个石块
在xy界面上
遍历整个数组,如果这个位置的元素不等于0,那么xy界面上他就会有一个阴影
在xz界面上
数组中每一行最大的元素相加
在yz界面上
数组中每一列最大的元素相加
最后返回xy+xz+yz



