Container With Most Water
2015-03-30 14:19 笨笨的老兔子 阅读(140) 评论(0) 编辑 收藏 举报给定一个有高度数组a,其中两个元素
基本思路,首先我们设定两块木板head和tail一个在头,一个在尾部,这个时候
class Solution {
public:
int maxArea(vector<int> &height) {
int head = 0, tail = height.size() - 1, area = (tail - head)*(height[tail] > height[head] ? height[head] : height[tail]), tmpArea = 0;
for (size_t i = 0; i < height.size(); i++)
{
if (height[head]<height[tail])
{
head++;
tmpArea = (tail - head)*(height[tail] > height[head] ? height[head] : height[tail]);
if (tmpArea > area)
area = tmpArea;
}
else
{
tail--;
tmpArea = (tail - head)*(height[tail] > height[head] ? height[head] : height[tail]);
if (tmpArea > area)
area = tmpArea;
}
}
return area;
}
};