问题:

题目来源:力扣(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)
这篇博客介绍了LeetCode 42题的四种解法,包括暴力解法、动态规划、双指针法和栈方法,详细分析了每种方法的思路和复杂度,重点探讨了栈方法的巧妙之处,如何利用递减栈模拟自然接雨水的过程,降低时间复杂度到O(n)。
最低0.47元/天 解锁文章
字节跳动面试题&spm=1001.2101.3001.5002&articleId=107591122&d=1&t=3&u=7da7b23ad98f4988919e816e8f684064)
374

被折叠的 条评论
为什么被折叠?



