-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path12_maxArea.py
More file actions
24 lines (24 loc) · 980 Bytes
/
12_maxArea.py
File metadata and controls
24 lines (24 loc) · 980 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'''
You are given an integer array height of length n. There are n vertical lines 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.
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.'''
from typing import List
class Solution:
def maxArea(self, height: List[int]) -> int:
left=0
right=len(height)-1
ans=0
while left < right:
currArea=(min(height[left],height[right])*(right-left))
ans=max(currArea,ans)
if height[left]<height[right]:
left+=1
else:
right-=1
return ans