diff --git a/problems/0042.接雨水.md b/problems/0042.接雨水.md index 95ee7593..69c284b1 100644 --- a/problems/0042.接雨水.md +++ b/problems/0042.接雨水.md @@ -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=0;i--{ + rh[i]=max(rh[i+1],height[i]) + } + for i:=1;i0{ + 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