This commit is contained in:
ShusenTang 2020-06-18 20:04:50 +08:00 committed by GitHub
parent 6206b7cf31
commit ae45e708f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,7 +33,7 @@
**核心思想就是将左右指针作为两个边界,那么向中间逐渐缩小边界的过程中如果遇到了比边界要低的高度说明遇到了坑,可以装水。**
我们定义 left 和 right 两个指针分别指向数组的首尾位置,从两边向中间扫描,先比较两指针对应高度找出较小值,如果较小值是 left 对应的高度,则从左向右扫描,如果较小值是 right 对应的高度,则从右向左扫描,扫描过程是:若当前值比当较小值小,说明有可以存水的坑,则将差值存入结果,继续扫描;如当前值较大,则重新确定新的窗口范围,以此类推直至 left 和 right 指针重合。
我们定义 left 和 right 两个指针分别指向数组的首尾位置,从两边向中间扫描,先比较两指针对应高度找出较小值记为mn,如果较小值是 left 对应的高度,则从左向右扫描,如果较小值是 right 对应的高度,则从右向左扫描,扫描过程是:若当前高度比mn小说明有可以存水的坑则将mn与当前高度的差值存入结果,继续扫描;如当前值较大,则重新确定新的窗口范围,以此类推直至 left 和 right 指针重合。
时间复杂度O(n)空间复杂度O(1)