-----QUESTION-----
Given
Note: You may not slant the container.
-----SOLUTION-----
class Solution {
public:
int maxArea(vector<int> &height) {
if(height.size() ==1) return 0;
int width;
int tall;
result = 0;
int i = 0;
int j = height.size()-1;
while(i<j)
{
tall = min(height[i],height[j]);
width = j-i;
if(tall*width > result) result = tall*width;
if(height[i] > height[j]) j--;
else i++;
}
return result;
}
private:
int result;
};
以下算法在judge large时time limit exceeded
class Solution {
public:
int maxArea(vector<int> &height) {
if(height.size() ==1) return 0;
int width;
int tall;
result = 0;
for(int i = 1; i< height.size(); i++)
{
for(int j = i+1; j<height.size(); j++)
{
tall = min(height[i],height[j]);
width = j-i;
if(tall*width > result) result = tall*width;
}
}
return result;
}
private:
int result;
};