diff --git a/solutions/42. Trapping Rain Water.md b/solutions/42. Trapping Rain Water.md index 8090102..78cc4a0 100644 --- a/solutions/42. Trapping Rain Water.md +++ b/solutions/42. Trapping Rain Water.md @@ -33,7 +33,7 @@ **核心思想就是将左右指针作为两个边界,那么向中间逐渐缩小边界的过程中如果遇到了比边界要低的高度说明遇到了坑,可以装水。** -我们定义 left 和 right 两个指针分别指向数组的首尾位置,从两边向中间扫描,先比较两指针对应高度找出较小值,如果较小值是 left 对应的高度,则从左向右扫描,如果较小值是 right 对应的高度,则从右向左扫描,扫描过程是:若当前值比当较小值小,说明有可以存水的坑,则将差值存入结果,继续扫描;如当前值较大,则重新确定新的窗口范围,以此类推直至 left 和 right 指针重合。 +我们定义 left 和 right 两个指针分别指向数组的首尾位置,从两边向中间扫描,先比较两指针对应高度找出较小值(记为mn),如果较小值是 left 对应的高度,则从左向右扫描,如果较小值是 right 对应的高度,则从右向左扫描,扫描过程是:若当前高度比mn小,说明有可以存水的坑,则将mn与当前高度的差值存入结果,继续扫描;如当前值较大,则重新确定新的窗口范围,以此类推直至 left 和 right 指针重合。 时间复杂度O(n),空间复杂度O(1) @@ -116,4 +116,4 @@ public: return res; } }; -``` \ No newline at end of file +```