# Container With Most Water Leetcode Solution

#### ByBrokenprogrammers

Nov 29, 2022

In this post, you will know how to solve the Container With Most Water Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Leetcode by yourself. If you find any difficulty after trying several times, then you can look for solutions.

## Problem

You are given an integer array `height` of length `n`. There are `n` vertical lines drawn such that the two endpoints of the `ith` line are `(i, 0)` and `(i, height[i])`.

Find two lines that together with the x-axis form a container, such that the container contains the most water.

Return the maximum amount of water a container can store.

Notice that you may not slant the container.

Example 1:

```Input: height = [1,8,6,2,5,4,8,3,7]
Output: 49
Explanation: The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.
```

Example 2:

```Input: height = [1,1]
Output: 1
```

Constraints:

• `n == height.length`
• `2 <= n <= 105`
• `0 <= height[i] <= 104`

### Container With Most Water Leetcode Solutions in Python

```class Solution:
def maxArea(self, height: List[int]) -> int:
p1 = 0
p2 = len(height) - 1
max_area = 0
while p1 != p2:
if height[p1] > height[p2]:
area = height[p2] * (p2 - p1)
p2 -= 1
else:
area = height[p1] * (p2 - p1)
p1 += 1
if area > max_area: max_area = area
return max_area```

### Container With Most Water Leetcode Solutions in CPP

```class Solution {
public:
int maxArea(vector<int>& height) {
int i=0; int j=height.size()-1;
int ans = 0;
while(i < j){
ans = max(ans,min(height[i],height[j])*(j-i));
if(height[i]<height[j])i++;
else if(height[i]>height[j])j--;
else {
i++;
j--;
}
}
return ans;
}
};```

### Container With Most Water Leetcode Solutions in Java

```class Solution {
public int maxArea(int[] height) {
int i=0; int j=height.length-1;
int ans = 0;
while(i < j){
ans = Math.max(ans,Math.min(height[i],height[j])*(j-i));
if(height[i]<height[j])i++;
else if(height[i]>height[j])j--;
else {
i++;
j--;
}
}
return ans;
}
}```

Note: This problem Container With Most Water is generated by Leetcode but the solution is provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.