【力扣hot100】双指针-盛水最多的容器

题目描述

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

代码实现

func maxArea(heights []int]) int{
	n := len(heights)
	area := 0
	left, right := 0, n - 1
	for left < right {
		tmp := min(heights[left], heights[right]) * (right - left)
		area := max(area, tmp)
		if heights[left] < heights[right] {
			left++
		} else {
			right--
		}
	}
	return area
}
posted @ 2026-04-20 22:19  干炸小黄鱼  阅读(9)  评论(0)    收藏  举报