您的位置:首页 > 大数据 > 人工智能

LeetCode——11. Container With Most Water

2017-01-23 09:34 197 查看
beats91%

算法思想,设一个left指针指向数组最左边和一个right指针指向数组最右边,计算他们之间的容量为height[left]和height[right]中较小者乘以宽度right-left,然后移动指针,移动指针后宽度变小,要使容量增大,必须height增加,所以移动height较小的指针,时间复杂度为O(N)

public class Solution {
public int maxArea(int[] height) {
int left,right;
int max=0;
int curArea;
int lowIndex;
left=0;right=height.length-1;
while(left<right){
int width=right-left;
if(height[left]<=height[right]){
lowIndex=left;
left++;
}
else{
lowIndex=right;
right--;
}
curArea=height[lowIndex]*width;
if(curArea>max)
max=curArea;
}
return max;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  11. Container With M