当前位置:   article > 正文

Golang | Leetcode Golang题解之第42题接雨水_golang 接雨水

golang 接雨水

题目:

题解:

  1. func trap(height []int) (ans int) {
  2. n := len(height)
  3. if n == 0 {
  4. return
  5. }
  6. leftMax := make([]int, n)
  7. leftMax[0] = height[0]
  8. for i := 1; i < n; i++ {
  9. leftMax[i] = max(leftMax[i-1], height[i])
  10. }
  11. rightMax := make([]int, n)
  12. rightMax[n-1] = height[n-1]
  13. for i := n - 2; i >= 0; i-- {
  14. rightMax[i] = max(rightMax[i+1], height[i])
  15. }
  16. for i, h := range height {
  17. ans += min(leftMax[i], rightMax[i]) - h
  18. }
  19. return
  20. }
  21. func min(a, b int) int {
  22. if a < b {
  23. return a
  24. }
  25. return b
  26. }
  27. func max(a, b int) int {
  28. if a > b {
  29. return a
  30. }
  31. return b
  32. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/850366
推荐阅读
相关标签
  

闽ICP备14008679号