In this post, we are going to solve the 11. Container With Most Water problem of Leetcode. This problem 11. Container With Most Water is a Leetcode medium level problem. Let’s see code, 11. Container With Most Water.
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
Now, let’s see the code of 11. Container With Most Water – Leetcode Solution.
Container With Most Water – Leetcode Solution
11. Container With Most Water – Solution 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; } }
11. Container With Most Water – Solution in C++
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; } };
11. Container With Most Water – Solution 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
Note: This problem 11. Container With Most Water is generated by Leetcode but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.