LeetCode刷题——11. 盛最多水的容器
作者:互联网
题目
思路
两条垂线,根据短板效应,能盛水的高度是最短的那条垂线,同时,长是两条垂线下标之差。两条垂线,出现数字2,可以考虑碰撞指针。
代码
class Solution(object):
def maxArea(self, height):
"""
:type height: List[int]
:rtype: int
"""
max_area = 0
i,j = 0,len(height) -1
while i < j:
# 计算面积
area = height[i] * (j-i) if height[i] < height[j] else height[j] * (j-i)
if area > max_area:
max_area = area
# 瓶颈在于短一点的垂线,因此尽量找到高一点的垂线
# height[i] 教高,则 j往左移,期望找到更高的垂线
if height[i] > height[j]:
j -= 1
else:
i += 1
return max_area
标签:11,area,int,max,height,else,最多水,垂线,LeetCode 来源: https://blog.csdn.net/yjw123456/article/details/114156641