11. 盛最多水的容器

package main

import "fmt"

func min(a int,b int)(c int){
	if a>b{
		c=b
	}else {
		c=a
	}
	return
}

func maxArea(height []int) int {
	left,right := 0,len(height)-1
	max := 0
	med := 0
	for left!=right{
		hleft,hright := height[left],height[right]
		med = (right-left)*min(hleft,hright)
		if max<med{
			max=med
		}
		// 本题精髓所在,并没有完全走遍历
		if hleft>hright{
			right--
		}else{
			left++
		}

	}
	fmt.Print(max)
	return max

}
func main(){
	maxArea([]int{2,3,4,5,18,17,6})
}
posted @ 2020-12-01 16:19  TR_Goldfish  阅读(67)  评论(0编辑  收藏  举报