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.

Code:

class Solution {
public:
    int maxArea(vector<int> &height) {
        if(height.empty()) return 0;
        int i=0,j=height.size()-1;
        int maxCapacity=0;
        while(i<j){
            int Capacity=min(height[i],height[j])*(j-i);
            maxCapacity=max(maxCapacity,Capacity);
            if(height[i]<height[j])
                i++;
            else
                j--;
        }
        return maxCapacity;
    }
};
原文地址:https://www.cnblogs.com/winscoder/p/3398413.html