解题思路:
本次每日一题题目描述极其不清,其实就是对于n*n的物体,求其三个投影的面积和,也就是底面积(该位置是否有方块)+每行最高的和+每列最高的和,代码如下:
class Solution {
public:
int projectionArea(vector<vector<int>>& grid) {
int n = grid.size();
int xyArea = 0, xzArea = 0, yzArea = 0;
for(int i = 0; i < n; i ++) {
int xzHigh = 0, yzHigh = 0;
for(int j = 0; j < n; j ++) {
xyArea += grid[i][j] == 0 ? 0 : 1;
xzHigh = max(xzHigh, grid[i][j]);
yzHigh = max(yzHigh, grid[j][i]);
}
xzArea += xzHigh;
yzArea += yzHigh;
}
return xzArea + xyArea + yzArea;
}
};