//MaxArea .
func MaxArea(height []int) int {
ans := 0
begin, end := 0, len(height)-1
for end > begin {
area := Min(height[begin], height[end]) * (end - begin)
if area > ans {
ans = area
}
if height[begin] == Min(height[begin], height[end]) {
begin++
} else {
end--
}
}
return ans
}
//Min .
func Min(a, b int) int {
if a > b {
return b
}
return a
}
本文介绍了一种解决最大面积盛水问题的高效算法。通过双指针技术遍历数组,寻找能盛放最多水的两个高度。文章展示了如何利用自定义最小值函数来简化比较过程,并详细解释了算法的核心思想。
736

被折叠的 条评论
为什么被折叠?



