接雨水题解half
This commit is contained in:
31
TwoPointers/jieyushui/main.go
Normal file
31
TwoPointers/jieyushui/main.go
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
resule := trap([]int{4, 2, 0, 3, 2, 5})
|
||||||
|
fmt.Println("最大接水数为:", resule)
|
||||||
|
}
|
||||||
|
|
||||||
|
func trap(height []int) int {
|
||||||
|
leftMaxlist := make([]int, len(height)+1)
|
||||||
|
rightMaxlist := make([]int, len(height)+1)
|
||||||
|
minMax := make([]int, len(height)+1)
|
||||||
|
for i := 0; i < len(height)-1; i++ {
|
||||||
|
leftMaxlist[i+1] = max(height[i], leftMaxlist[i])
|
||||||
|
}
|
||||||
|
for i := len(height) - 1; i >= 0; i-- {
|
||||||
|
rightMaxlist[i] = max(height[i], rightMaxlist[i+1])
|
||||||
|
}
|
||||||
|
fmt.Println(leftMaxlist)
|
||||||
|
fmt.Println(rightMaxlist)
|
||||||
|
for i := 0; i < len(minMax)-1; i++ {
|
||||||
|
minMax[i] = min(leftMaxlist[i], rightMaxlist[i])
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := len(minMax) - 1; i >= 0; i-- {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
package problem1
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
package problem2
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user