Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bead223

Browse files
authored
Update 42.trapping-rain-water.md
1 parent 69170ae commit bead223

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

problems/42.trapping-rain-water.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ https://leetcode-cn.com/problems/trapping-rain-water/
4141

4242
这是一道雨水收集的问题, 难度为`hard`. 如图所示,让我们求下过雨之后最多可以积攒多少的水。
4343

44-
如果采用暴力求解的话,思路应该是 height 数组依次求和,然后相加
44+
如果采用暴力求解的话,思路应该是枚举每一个位置 i 下雨后的积水量,累加记为答案
4545

4646
- 伪代码
4747

@@ -51,7 +51,7 @@ for (let i = 0; i < height.length; i++) {
5151
}
5252
```
5353

54-
问题转化为求 h,那么 h[i]又等于`左右两侧柱子的最大值中的较小值`,即
54+
问题转化为求 h 数组,这里 h[i] 其实等于`左右两侧柱子的最大值中的较小值`,即
5555
`h[i] = Math.min(左边柱子最大值, 右边柱子最大值)`
5656

5757
如上图那么 h 为 [0, 1, 1, 2, 2, 2 ,2, 3, 2, 2, 2, 1]
@@ -156,6 +156,8 @@ int trap(vector<int>& heights)
156156
157157
## 双指针
158158
159+
这种解法为进阶解法, 大家根据自己的情况进行掌握。
160+
159161
### 思路
160162
161163
上面代码比较好理解,但是需要额外的 N 的空间。从上面解法可以看出,我们实际上只关心左右两侧较小的那一个,并不需要两者都计算出来。具体来说:

0 commit comments

Comments
 (0)