描述:
给n个非负整数a1,a2,....an,每个数代表坐标的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水,说明:不能倾斜容器
#!/usr/bin/python
from typing import List
class Solution:
def maxArea(self,height: List[int]) -> int:
N = len(height)
i = 0
j = N-1
max_area = 0
while i < j:
c = (j-i)*min(height[i],height[j])
if c > max_area:
max_area = c
if height[i] > height[j]:
j -= 1
else:
i += 1
return max_area
# %%
s = Solution()
print(s.maxArea([1,8,6,2,5,4,8,3,7]))
盛最多水的容器
最新推荐文章于 2024-05-02 03:47:26 发布