leetcode -- 11. 盛最多水的容器
作者:互联网
问题描述:
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
说明:你不能倾斜容器,且 n 的值至少为 2。
1 class Solution(object): 2 def maxArea(self, height): 3 """ 4 :type height: List[int] 5 :rtype: int 6 """ 7 #设定两个指针一个在最左一个在最右 8 #从两端往中间挤,两个指针相比,数值小的往中间靠一下 9 #直到相遇 10 l = ans = 0 11 r = len(height)-1 12 maxa = 0 13 while l != r: 14 c = (r-l)*min(height[l], height[r]) 15 if height[l] <= height[r]: 16 l += 1 17 else: 18 r -= 1 19 if c > maxa: 20 maxa = c 21 return maxa
标签:11,容器,ai,height,int,最多水,maxa,leetcode 来源: https://www.cnblogs.com/hengw/p/10424600.html