图片.png

双指针

  1. package main
  2. import "fmt"
  3. func max(a,b int)int{
  4. if a>b{
  5. return a
  6. }
  7. return b
  8. }
  9. func maxArea(height []int) int {
  10. left :=0
  11. right := len(height)-1
  12. area :=0
  13. h :=0
  14. for left<right{
  15. w :=right-left
  16. if height[left]<=height[right] {
  17. h = height[left]
  18. left++
  19. }else {
  20. h = height[right]
  21. right--
  22. }
  23. area = max(area,h*w)
  24. }
  25. return area
  26. }
  27. func main() {
  28. fmt.Println(maxArea([]int{1,8,6,2,5,4,8,3,7}))
  29. }

图片.png