人工智能/模式识别/机器学习精华专题大数据,机器学习,人工智能机器学习和人工智能入门

盛最多水的容器

2018-05-14  本文已影响11人  不爱去冒险的少年y

盛最多水的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i,ai) 。画 n 条垂直线,使得垂直线 i的两个端点分别为 (i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。

注意:你不能倾斜容器,n 至少是2。

class Solution:

    def maxArea(self, height):

        """

        :type height: List[int]

        :rtype: int

        """

        lenght = len(height)

        sum = 0

        begin = 0

        end = lenght-1

        while True:

            if begin == end:

                break

            else:

                if height[begin]<height[end]:

                    sum = max(sum, height[begin]*(end-begin))

                    begin+=1

                else:

                    sum = max(sum, height[end]*(end-begin))

                    end-=1

        return sum

上一篇 下一篇

猜你喜欢

热点阅读