问题:
题目来源:力扣(LeetCode)
难度:困难
分析:非常有意思的一道题,通过左右结点值来定义中凹处的值。
解决方法:
1:暴力解法,遍历
这个解法很好理解,每个位置的储水量由它左边最大数和右边最大数的最小值决定。
class Solution():
def trap(self,height):
water = 0
for i in range(len(height)):
max_left , max_right = 0
for j in range(0,i): #遍历数值每个位置
max_left = max(max_left,height) #查找位置i左边的最大值
for j in range(i,range(len(height))):
max_right = max(max_right,height) #查找位置i右边的最大值
if min(max_left,max_right)>height[i]:
water += min(max_left,max_right)