883. 三维形体投影面积

exiaohu 于 2022-04-26 发布

题目链接:883. 三维形体投影面积

数学题,分别计算三个视图的面积,然后求和即可。

from typing import List


class Solution:
    def projectionArea(self, grid: List[List[int]]) -> int:
        m = len(grid)
        if m == 0:
            return 0
        n = len(grid[0])
        if n == 0:
            return 0

        xOy = sum(sum(1 if i > 0 else 0 for i in row) for row in grid)
        xOz = sum(max(row) for row in grid)
        yOz = sum(max(row) for row in zip(*grid))

        return xOy + xOz + yOz