题目:给定一个数组,代表木板的高度。选两个木板,求两个木板的最大盛水量。
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
注:使用前后两个指针向中间移动的策略,获取最大的蓄水量。指针移动策略为短的一侧木板移动。