HOT 100 › 索引 › B2 双指针 Two Pointers
LC 11盛最多水的容器Container With Most Water 中等
选两条竖线与 x 轴围成容器,使可容纳的水最多,返回最大容量。
思路 双指针夹逼:容量受短板限制,每次移动较短的一端才可能变大,取过程最大值。时间 O(n)。
class Solution: def maxArea(self, height: List[int]) -> int: ans, l, r = 0, 0, len(height) - 1 while l < r: area = (r - l) * min(height[l], height[r]) ans = max(ans, area) if height[l] < height[r]: l += 1 else: r -= 1 return ans