美文网首页
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