Brute Force
class Solution {
public:
int maxArea(vector<int>& height) {
int max=0;
int hei=0;
int area=0;
for(int i=0;i<height.size();i++)
for(int j=i+1;j<height.size();j++)
{
hei=height[j]<height[i]?height[j]:height[i];
area=(j-i)*hei;
if(max<area)
max=area;
}
return max;
}
};
Sliding Window
class Solution {
public:
int maxArea(vector<int>& height) {
int max_area=0;
int area=0;
int left=0;
int right=height.size()-1;
for(;left!=right;)
{
area=(right-left)*(height[left]<height[right]?height[left]:height[right]);
if(max_area<area)
max_area=area;
if(height[left]>height[right])
right--;
else
left++;
}
return max_area;
}
};