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刷题三十一的主要内容,如果未能解决你的问题,请参考以下文章