/**
[1,8,6,2,5,4,8,3,7]
双指针算法
left指向头,right指向尾
这时应该移动left还是right呢
1. 应该移动高度小的那个位置
height[left] <= height[right]
1.1 移动left指针,若移动时,while height[left+1] <= height[left] left++; 因为比height[left]还小,面积肯定更小,实际就是找到第一个比height[left]大的数
1.2 移动right指针时,同理
*/funcmaxArea(height []int)int{// left指向头,right指向尾
left, right :=0,len(height)-1
ans :=(right - left)*min(height[right], height[left])for;left < right;{if height[right]>= height[left]{for i:=left+1;height[left]> height[i]&& i < right; i++{
left = i
}
left++if ans <(right - left)*min(height[right], height[left]){
ans =(right - left)*min(height[right], height[left])}}else{for i:=right-1;height[right]> height[i]&& i > left; i--{
right = i
}
right--if ans <(right - left)*min(height[right], height[left]){
ans =(right - left)*min(height[right], height[left])}}}return ans
}funcmin(x, y int)int{if x > y {return y
}return x
}