Container With Most Water – LeetCode Solutions

LeetCode has a Medium coding Problem in Its’ Algorithm Section “Container With Most Water”. Today We are going to solve this problem in Python. LeetCode Link of the Problem is HERE

Question

You are given an integer array height of length n. There are n vertical lines are 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.

Examples

Container With Most Water

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.

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


Constraints:

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

Solution

class Solution(object):
def maxArea(self, height):
“””
:type height: List[int]
:rtype: int
“””
maxarea = 0
left = 0
right = len(height) – 1

while left < right:
width = right – left
maxarea = max(maxarea, min(height[left], height[right]) * width)
if height[left] <= height[right]:
left += 1
else:
right -= 1

return maxarea

Success:

Runtime: 739 ms, faster than 46.35% of Python online submissions.

Memory Usage: 24 MB, less than 54.07% of Python online submissions.

READ MORE

Python-related posts Visit HERE

C++ related posts Visit HERE

Databases related posts Visit HERE

Data Structures related posts visit HERE

Algorithms related posts visit HERE

Data Science related posts visit HERE

Share the Knowledge