1.题目
2.求解
简单题,当某一个位置存在非零数值的时候,记录一下横纵坐标最大值,cnt += 1 表示俯视图这个位置为1,三者求和即可。
3.代码
class Solution:
def projectionArea(self, grid: List[List[int]]) -> int:
n = len(grid)
m = len(grid[0])
xli = {}
yli = {}
cnt = 0
for i in range(n):
for j in range(m):
if grid[i][j] != 0:
cnt += 1
if i in xli:
xli[i] = max(xli[i], grid[i][j])
else :
xli[i] = grid[i][j]
if j in yli:
yli[j] = max(yli[j], grid[i][j])
else :
yli[j] = grid[i][j]
return sum(xli.values()) + sum(yli.values()) + cnt