883. 三维形体投影面积

weednoah

关注

阅读 64

2022-04-26

原题链接: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;
    }
};

 

精彩评论(0)

0 0 举报