题解 | #容器盛水问题#

容器盛水问题

http://www.nowcoder.com/practice/f92929ec6e5642a690e7c197b0c40e38

n = int(input())
if n < 3:
    print(0)
    exit()
nums = list(map(int, input().split()))
i, j = 0, n - 1
left_max = nums[0]
right_max = nums[-1]
res = 0
while i < j:
    if nums[i] < nums[j]:
        i += 1
        if nums[i] < left_max:
            res += left_max - nums[i]
        else:
            left_max = nums[i]
    else:
        j -= 1
        if nums[j] < right_max:
            res += right_max - nums[j]
        else:
            right_max = nums[j]
print(res)
全部评论

相关推荐

ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务