Leetcode883 三維形體投影面積 高效解法

左邊的投影面積爲每一行最大值之和,前面的投影面積爲每一列最大值之和,底部投影爲所有不爲0元素的個數。因此可在一次遍歷中將這些數據都統計出來。

在這裏插入圖片描述

class Solution {
public:
    int projectionArea(vector<vector<int>>& grid) {
        int r = 0, l = 0, d = 0;
        int n = grid.size();
        for(int i = 0; i < n; i++)
        {
            int t1 = 0, t2 = 0;
            for(int j = 0; j < n; j++)
            {
                t1 = max(t1, grid[i][j]);
                t2 = max(t2, grid[j][i]);
                if(grid[i][j]) d++;
            }
            l += t1;
            r += t2;
        }
        return r+l+d;    
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章