LeetCode-11.Container With Most Water

来源:互联网 发布:中国云计算方案大会 编辑:程序博客网 时间:2024/05/29 16:41

https://leetcode.com/problems/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.

双指针

分别从两端开始移动,计算最大值。然后根据瓶颈是左端或者右端移动相应指针。

int maxArea(vector<int>& height)     {        int l=0,r=height.size()-1,res = 0;    while (l<r)    {    res = max(res, min(height[l], height[r])*(r - l));    if (height[l]>height[r])    r--;    else    l++;    }    return res;    }

参考 http://blog.csdn.net/linhuanmars/article/details/21145429

0 0