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