盛最多水的容器

思路:面积为高度×宽度,分别指向首尾两个元素,并记录此时的面积,当移动首尾时,宽度减小,如果移动高度较大的元素,面积必定减小,所以此时

应该移动较小的元素。

 

class Solution {
public:
    int maxArea(vector<int>& height) {
        int len = height.size();
        int max_area = 0;
        int left=0, right = len-1;
        
        while(left<=right && left <len && right>0 )
        {
            max_area = max(max_area, min(height[left], height[right]) * (right-left) );
            
            if(height[left] < height[right]) left++;
            else right--;
        }
        
        return max_area;
    }
};

 

posted @ 2019-01-07 20:57  牧马人夏峥  阅读(123)  评论(0编辑  收藏  举报