题目链接
题目描述
题解
题解一(Go)
这题应该是个简单题,一开始把题目想的太复杂了,不存在中间有特别高的柱子的时候不成立的情况,其实就是两边开始比的算面积
func maxArea(height []int) int {
// 闭眼双指针
left, right, max := 0, len(height)-1, 0
for left < right {
area := 0
if height[left] < height[right] {
// 左边小,面积按左边算
area = (right - left) * height[left]
left++
} else {
// 一样大或者右边大,按右边算
area = (right - left) * height[right]
right--
}
if max < area {
max = area
}
}
return max
}