[LeetCode]Container With Most Water

Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) 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 len=height.size();

        int area,maxarea=0;

        int left=0;

        int right=len-1;

        while(left<=right)

        {

            area=(right-left)*min(height[left],height[right]);

            maxarea=max(maxarea,area);

            if(height[left]<height[right]) left++;

            else right--;

        }

        return maxarea;

    }

};

 

 

你可能感兴趣的:(LeetCode)