美文网首页
11. Container With Most Water

11. Container With Most Water

作者: larrymusk | 来源:发表于2017-11-24 20:00 被阅读0次

左右指针夹逼,以最小高度为高,宽度(end-start)算出矩形面积,并和最大值比较,算出最大值。
哪边高度矮就向中心方向走一步

#define min(a,b) (a<b?a:b)
#define max(a,b) (a>b?a:b)

int maxArea(int* height, int heightSize) {
    int l = 0;
    int r = heightSize-1;
    int maximum = INT_MIN;
    while(l<r){
        int tmp = min(height[l],height[r])*(r-l);
        maximum = max(maximum, tmp);
        
        if(height[l] < height[r])
            l++;
        else
            r--;
    }
    
    return maximum;
}

相关文章

网友评论

      本文标题:11. Container With Most Water

      本文链接:https://www.haomeiwen.com/subject/evgfbxtx.html