首页 > 代码库 > Container With Most Water

Container With Most Water

Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.

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