1. 程式人生 > >leetcode刷題11. 盛最多水的容器

leetcode刷題11. 盛最多水的容器

mission .com max ons nbsp lee bmi miss 面積

做題連接https://leetcode-cn.com/problems/container-with-most-water/submissions/

本題分為兩種方法:

暴力法:
int maxArea(int* height, int heightSize) {
int maxarea=0,s;
for(int i=0;i<heightSize;i++)
for(int j=i+1;j<heightSize;j++)
{
s=(height[i]>height[j])?height[j]:height[i];
maxarea=(s*(j-i)>maxarea)?(s*(j-i)):maxarea;

}
return maxarea;
}
分別比較數組中邊緣最小,然後面積較大值返回
頭尾指針法:
int maxArea(int* height, int heightSize) {
int maxarea=0,s,i=0,j=heightSize-1;
while(i<j){

s=(height[i]>height[j])?height[j]:height[i];
maxarea=(s*(j-i)>maxarea)?(s*(j-i)):maxarea;
if(height[i]<height[j])
i++;
else
j--;

}
return maxarea;
}

leetcode刷題11. 盛最多水的容器