# Leetcode container with most water problem solution

In this Leetcode container with the most water problem solutions, we have 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 are at (i, ai) and (i, 0). we need to find two lines, which together with the x-axis form a container, such that the container contains the most water.

## Problem solution in Python.

```class Solution:
def maxArea(self, height: List[int]) -> int:
largest = 0
l, r = 0, len(height) - 1
while l < r:
area = (r- l) * min(height[l], height[r])
largest = max(largest, area)
if height[l] < height[r]:
l += 1
else:
r -= 1
return largest
```

## Problem solution in Java.

```public class Solution {
public int maxArea(int[] height) {
int maxarea=0;
int temparea=0;
int m=0,n=height.length-1;
while(m!=n){
if(height[m]<height[n]){
temparea=height[m]*(n-m);
m++;
}
else{
temparea=height[n]*(n-m);
n--;
}
if(maxarea<temparea) maxarea=temparea;
}
return maxarea;
}
}
```

## Problem solution in C++.

```class Solution {
public:
int maxArea(vector<int>& height)
{
int res=0,left=0,right=height.size()-1;
while(left<right)
{
int lower=height[height[left]<height[right]?left++:right--];
res=max(res,(right-left+1)*lower);
}
return res;
}
};
```

## Problem solution in C.

```int min(int a, int b) {
return((a < b) ? a : b);
}
int maxArea(int* height, int heightSize) {
int maxArea=0, area;
int i, j, w, h;

for (i = 0, j = heightSize-1; i < j; ) {
h = min(height[j], height[i]);
w = j-i;
area = h * w;
maxArea = (area > maxArea) ? area : maxArea;
(height[i] > height[j]) ? j-- : i++;
}
return(maxArea);
}
```