0%

[題解]Leetcode 883 Projection Area of 3D Shapes

883 Projection Area of 3D Shapes

題目連結

三種不同的投影對應到三種不同的角度看圖形。x-y的面積即為由上而下看有方格的個數。x-z是從前方看,因此對應到的是每一行的最大方塊個數。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
int projectionArea(vector<vector<int>>& grid) {
int n = grid.size(),ans = 0;
for(int i = 0;i < n;i++){
int maxR = 0,maxC = 0;
for(int j = 0;j < n;j++){
if(grid[i][j] > 0)ans++; //由上往下看
maxR = max(maxR,grid[i][j]); //由側邊看
maxC = max(maxC,grid[j][i]); //由前面看
}
ans += maxR + maxC;
}
return ans;
}
};