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