leetcode刷题三十一

Posted hhh江月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode刷题三十一相关的知识,希望对你有一定的参考价值。

leetcode刷题三十一

题目叙述

https://leetcode-cn.com/problems/projection-area-of-3d-shapes/

在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。

每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。

现在,我们查看这些立方体在 xy 、yz 和 zx 平面上的投影。

投影 就像影子,将 三维 形体映射到一个 二维 平面上。从顶部、前面和侧面看立方体时,我们会看到“影子”。

返回 所有三个投影的总面积 。

题目解答

class Solution:
    def projectionArea(self, grid: List[List[int]]) -> int:
        s1 = 0
        s2 = 0
        s3 = 0
        s = 0
        x = len(grid)
        y = 0
        res = []
        for i in grid:
            s1 += len(i)
            if y > len(i):
                pass
            else:
                y = len(i)

        for j in grid:
            s2 += max(j)

        for k in range(y):
            max_x = 0
            for m in grid:
                if len(m) - 1 < k:
                    break
                else:
                    if max_x < m[k]:
                        max_x = m[k]
                    else:
                        max_x = max_x
            res.append(max_x)

        for n in res:
            s3 += n
        
        s0 = 0
        for x in grid:
            for y in x:
                if y == 0:
                    s0 += 1
        
        print(s1)
        print(s2)
        print(s3)
        
        s = s1 + s2 + s3 - s0
        return s



运行结果

以上是关于leetcode刷题三十一的主要内容,如果未能解决你的问题,请参考以下文章

leetcode刷题三十五

leetcode刷题三十四

leetcode刷题三十

leetcode刷题三十七

leetcode刷题三十八

leetcode刷题三十三