407.接雨水II
错误解
class Solution:
def trapRainWater(self, heightMap) -> int:
m = len(heightMap)
n = len(heightMap[0])
if m < 2:
return 0
res = 0
for i in range(1, m-1):
for j in range(1, n-1):
# 找左右的最高点
a,b = 0, 0
for x in range(i-1, -1, -1):
a = max(a, heightMap[x][j])
for x in range(i+1, m):
b = max(b, heightMap[x][j])
c,d = 0,0
for y in range(j-1, -1, -1):
c = max(c, heightMap[i][y])
for y in range(j+1, n):
d = max(d, heightMap[i][y])
height = min(a,b,c,d)
if height > heightMap[i][j]: #周围比(i,j)高才能接到水
res += (height-heightMap[i][j])
return res正确解
最后更新于