leetcode第42题接雨水–双指针
写写思路:存水一定是在两个峰中间,且两个最高峰之间存的水位一定是最高!
那我们就把峰高和峰位置记录下来成为list_top,
从最高到低遍历list_top:
如果当前峰在已经处理的峰之外(idx_top
否则不处理继续处理下一个峰。
所以需要用到双指针来确定已经处理过的峰,初始l=r=idx_top(-1)(最高峰)
class Solution(object):
def trap(self, height):
"""
:type height: List[int]
:rtype: int
先低再高能存水
先高再低为峰高
我维护一个数组,记录之前的峰,数组逆序排列【-1】为最小
!!!
错了错了,存水是在峰之间,所以要找峰
找到前两个峰然后双
共有 0 条评论