【问题描述】
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。(提示:最大储水量为两条线中较短的一条线的长度和两条线之间的距离的乘积)
返回容器可以储存的最大水量。
说明:你不能倾斜容器。
【输入形式】
英文[]包裹,英文,分割的若干自然数(即为数组height)
【输出形式】
一个自然数
【样例输入】
[1,8,4,3,7]
【样例输出】
21
#盛水最多的容器
def maxArea(height):
height = list(map(int, height))
l,r = 0,len(height)-1
area = min(height[l],height[r])*(r-l)
while True:
if l >= r:
break
if height[l]<height[r]:
l += 1
else:
r -= 1
if min(height[l],height[r])*(r-l)>area:
area = min(height[l],height[r])*(r-l)
return area
nums = input()
nums = nums[1:-1]
num = nums.split(',')
sumarea = maxArea(num)
print(sumarea)