您的位置:首页 > 大数据 > 人工智能

LeetCode--container-with-most-water

2018-01-16 20:13 246 查看


题目描述

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 s,maxArea = 0;
        int l=0,r=height.size()-1;
        while(l<r){
            s = (r-l)*min(height[l],height[r]);
            if(s > maxArea)
                maxArea = s;
            if(height[l]>height[r])
                r--;
            else
                l++;
        }
        return maxArea;
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: