Lintcode 装最多水的容器

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

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;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值