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
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
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.
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
n == height.length
2 <= n <= 105
0 <= height[i] <= 104
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
Runtime: 739 ms, faster than 46.35% of Python online submissions.
Memory Usage: 24 MB, less than 54.07% of Python online submissions.
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