11. 盛最多水的容器-leetCode&python

1、题目
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。
2、代码

class Solution(object):
        def maxArea(self, height):
            """
            指针一左一右,谁小往前走
            """
            len_height = len(height)
            l, r = 0, len_height - 1
            max_area = 0
            while l <= r:
                max_area = max(max_area, min(height[l], height[r]) * (r - l))
                if height[r] > height[l]:
                    l += 1
                else:
                    r -= 1
            return max_area

3、示例

    height=[1,8,6,2,5,4,8,3,7]
    s=Solution()
    res=s.maxArea(height)
    print(res)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容