class Solution: def maxArea(self, height: List[int]) -> int: left, right = 0, len(height) - 1 maxArea = 0 while left < right: heightOne = height[left] heightTwo = height[right] area = min(heightOne, heightTwo) * (right - left) maxArea = max(area, maxArea) if heightTwo >= heightOne: #if heights are equal, it doesn't matter if you move left or right pointer left += 1 elif heightTwo < heightOne: right -= 1 return maxArea # BRUTE FORCE # maxArea = 0 # for i in range(len(height)): # for secondI in range(i + 1, len(height)): # heightOne = height[i] # heightTwo = height[secondI] # area = min(heightOne, heightTwo) * (secondI - i) # maxArea = max(area, maxArea) # return maxArea
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter