题解 | #接雨水问题#

接雨水问题

http://www.nowcoder.com/practice/31c1aed01b394f0b8b7734de0324e00f

利用双指针优化了动态规划问题,优化了空间复杂度o(n)->o(1)

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# max water
# @param arr int整型一维数组 the array
# @return long长整型
#
class Solution:
    def maxWater(self , arr: List[int]) -> int:
        # write code here
        if not arr:
            return 0
        n=len(arr)
        left,right=0,n-1
        leftmax=rightmax=0
        res=0
        while left<right:
            leftmax=max(arr[left],leftmax)
            rightmax=max(arr[right],rightmax)
            if arr[left]<arr[right]:
                res+=leftmax-arr[left]
                left+=1
            else:
                res+=rightmax-arr[right]
                right-=1
        return res
            
        
全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务