leetcode 11盛水最多的容器

Posted joelwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 11盛水最多的容器相关的知识,希望对你有一定的参考价值。

技术图片

 

class Solution 
public:
    int maxArea(vector<int>& height) 
        //双指针法:从最宽的容器开始计算,当更窄的容器盛水量要大于之前容器,那必须比之前容器高,因此可以移动两个指针,直到最窄time O(n),space O(1);
        int low=0;
        int high=height.size()-1;
        int volume=0;
        while(low<high)
            int h=min(height[low],height[high]);
            volume=max(volume,h*(high-low));
            if(height[low]<height[high])
                low++;
                while(low<high && height[low]<=h) ++low;
            else
                high--;
                while(low<high && height[high]<=h) --high;
            
        
        return volume;
    
;

 

以上是关于leetcode 11盛水最多的容器的主要内容,如果未能解决你的问题,请参考以下文章

leetcode第11题:盛水最多的容器

LeetCode_11_盛水最多的容器

LeetCode第11题 盛水最多的容器

滑动窗口3:Leetcode 11 盛水最多的容器

leetcode-11 盛水最多的容器(双指针,lower_bound, upperbound)

leetcode-11 盛水最多的容器(双指针,lower_bound, upperbound)