-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Question:
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n >vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which >together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
Solution:
class Solution {
public:
int maxArea(vector<int>& height) {
int j = height.size() - 1;
int maxarea = 0;
int i = 0;
while( i < j){
int temp = ( j - i ) * min(height[i], height[j]);
if( temp > maxarea) maxarea = temp;
if( height[i] > height[j]) j--;
else i++;
}
return maxarea;
}
};