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;
    }
};  

你可能感兴趣的:(contain)