mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 04:06:51 +08:00
@ -601,7 +601,48 @@ func trap(height []int) int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
动态规划解法:
|
||||||
|
|
||||||
|
```go
|
||||||
|
func trap(height []int) int {
|
||||||
|
sum:=0
|
||||||
|
n:=len(height)
|
||||||
|
lh:=make([]int,n)
|
||||||
|
rh:=make([]int,n)
|
||||||
|
lh[0]=height[0]
|
||||||
|
rh[n-1]=height[n-1]
|
||||||
|
for i:=1;i<n;i++{
|
||||||
|
lh[i]=max(lh[i-1],height[i])
|
||||||
|
}
|
||||||
|
for i:=n-2;i>=0;i--{
|
||||||
|
rh[i]=max(rh[i+1],height[i])
|
||||||
|
}
|
||||||
|
for i:=1;i<n-1;i++{
|
||||||
|
h:=min(rh[i],lh[i])-height[i]
|
||||||
|
if h>0{
|
||||||
|
sum+=h
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
func max(a,b int)int{
|
||||||
|
if a>b{
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
func min(a,b int)int{
|
||||||
|
if a<b{
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
JavaScript:
|
JavaScript:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
//双指针
|
//双指针
|
||||||
var trap = function(height) {
|
var trap = function(height) {
|
||||||
|
Reference in New Issue
Block a user