LeetCode-11 盛最多水的容器
Table of Contents
LeetCode-10 盛最多水的容器 #
Solution 1 #
我们从最长的 “底板” 开始考虑. 此时, 对于 $height[l]$ 和 $height[r]$, 唯一有可能使得容积变大的方法是移动短板. 因此我们使用移动双指针来更新答案. 代码如下:
class Solution:
def maxArea(self, height: List[int]) -> int:
# 目标: max(min(h[i], h[j]) * (j - i))
n = len(height)
l,r = 0, n - 1
ans = 0
while l < r:
ans = max(ans, min(height[l], height[r]) * (r - l))
if height[l] < height[r]:
l += 1
else:
r -= 1
return ans