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

LeetCode-11-Container With Most Water(证明)-Medium

2015-12-20 18:00 633 查看
题意理解:

x坐标差为宽,两个y坐标的较小值为高,求解最大的宽高乘积;

题目分析:

1. 穷举会超时;

2. 假设 am与an间的乘积最大,则m的左边不存在比am大的值,n右边不存在比an大的值;

解题代码:

class Solution {
public:
int maxArea(vector<int>& height) {
int maxContainer=0;
int vSize=height.size();

int left=0;
int right=vSize-1;

while(left<right){
int t=min(height[left], height[right])*(right-left);
if(t>maxContainer){
maxContainer=t;
}

if(height[left]<height[right]){
left++;
}else{
right--;
}
}

return maxContainer;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: