题解 | #盛水最多的容器#
盛水最多的容器
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##双指针#