42. 接雨水 golang
生活随笔
收集整理的這篇文章主要介紹了
42. 接雨水 golang
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
42. 接雨水
給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。
上面是由數組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接 6 個單位的雨水(藍色部分表示雨水)。 感謝 Marcos 貢獻此圖。
示例:
輸入: [0,1,0,2,1,0,1,3,2,1,2,1]
輸出: 6
Code
func trap(height []int) int {if height == nil {return 0}var left, right, leftMax, rightMax, res intleft = 0right = len(height)-1for left < right {if height[left] < height[right] {if height[left] > leftMax {leftMax = height[left]} else {res += leftMax - height[left]}left++} else {if height[right] > rightMax {rightMax = height[right]} else {res += rightMax - height[right]}right--}}return res }作者:HodgeKou 鏈接:https://leetcode-cn.com/problems/trapping-rain-water/solution/jie-yu-shui-golang11-sheng-zui-duo-shui-de-rong-qi/ 來源:力扣(LeetCode) 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。總結
以上是生活随笔為你收集整理的42. 接雨水 golang的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15. 三数之和 golang
- 下一篇: 成都大熊猫繁育研究基地现场买票需要预约吗