盛最多水的容器
这道题要求的就是两个柱子围城的最大的矩形
这个题只需要我们枚举一下两个指针,每一次将矮的那一侧的指针向中移动,然后计算一下最大值,直到指针相交。
代码如下:
func maxArea(height []int) int {
i:=0
j:=len(height)-1
ans:=0
for i<j {
ans=max(ans,(j-i)*min(height[j],height[i]) )
Min(&i,&j,height)
}
return ans
}
func max(a,b int) int{
if a>b{
return a
}else{
return b
}
}
func min(a,b int)int{
if a<b{
return a
}else{
return b
}
}
func Min(i *int,j *int,height []int){
if(height[*i]>height[*j]){
*j--
}else{
*i++
}
}