Container With Most Water

来源:互联网 发布:cmd连不上mysql 编辑:程序博客网 时间:2024/06/05 07:56

题目详情:https://leetcode.com/problems/container-with-most-water/solution/#approach-2-two-pointer-approach-accepted

思路:初始化i=0,j=len(height)-1 ,保持较大的高度位置不变,然后将较小的位置改变,以求的最大的面积。若将较大的高度的位置改变,那么最大的面积会受限于较小于的高度,不会获得最大的高度。但是将较小的高度位置改变,虽然宽度变小了,但是有可能通过高度来抵消掉。

# -*- coding:utf-8 -*-class Solution(object):    def maxArea(self, height):        """        :type height: List[int]        :rtype: int        """        length,max_area=len(height),0        #i置为数组的第一个元素的位置,j为最后一个元素的位置        i,j,pos=0,length-1,{}        while i<j:            max_area=max((j-i)*min(height[i],height[j]),max_area)#取得最大值            #较大的高度保持位置不变,改变较小的高度            if height[i]>height[j]:                j=j-1            else:                i=i+1        return max_area
原创粉丝点击