Lintcode 装最多水的容器

来源:互联网 发布:淘宝代客打小人靠谱吗 编辑:程序博客网 时间:2024/06/05 10:53

装最多水的容器
思路:
容器大小由区间长度和高度共同决定。两个指针,从左右逼近,开始的时候,区间长度最大。然后调整长度,选择合适的高度。高度由最小的柱子决定。

class Solution {public:    /*     * @param : a vector of integers     * @return: an integer     */    int maxArea(vector<int> heights) {        // write your code here        int n=heights.size();        if(n==1)            return 0;        int i=0,j=n-1;        int maxarea=0;        while(i<j){            maxarea=max(maxarea,min(heights[i],heights[j])*(j-i));            if(heights[i]<heights[j])                i++;            else                j--;        }        return maxarea;    }};
原创粉丝点击