11-盛水最多的容器

题目:给定一个数组,代表木板的高度。选两个木板,求两个木板的最大盛水量。

def max_area(arrys):
    l,r = 0,len(arrys)-1
    res = 0
    while l<r:
        contain = min(arrys[l],arrys[r])*(r-l)
        if contain>res:
            res = contain
        if arrys[l]<arrys[r]:
            l+=1
        else:
            r-=1
    return res

  注:使用前后两个指针向中间移动的策略,获取最大的蓄水量。指针移动策略为短的一侧木板移动。

猜你喜欢

转载自www.cnblogs.com/kingshine007/p/11518908.html