题解 | #盛水最多的容器#

盛水最多的容器

https://www.nowcoder.com/practice/3d8d6a8e516e4633a2244d2934e5aa47

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param height int整型一维数组 
 * @param heightLen int height数组长度
 * @return int整型
 */
int maxArea(int* height, int heightLen ) {
    if(heightLen<1)
        return 0;
    int Left=0,Right=heightLen-1;
    int Height,Width;
    int MaxVolume=0,CurrentVolume=0;
    while(Left<Right){
        Height=height[Left]<height[Right]? height[Left]: height[Right];
        Width=Right-Left;
        CurrentVolume=Height*Width;
        MaxVolume=MaxVolume>CurrentVolume? MaxVolume: CurrentVolume;

        if(height[Left]<=height[Right]){
            while(height[Left]<=Height)
                Left++;
        }
        else{
            while(height[Right]<=Height)
                Right--;
        }
    }
    return MaxVolume;
}

#C##双指针#
全部评论

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务