获得徽章 5
- #每日一题# 双指针方法,使用 left 和 right 两个指针分别指向输入数组的左右两端,并使用 leftMax 和 rightMax 两个变量分别表示左侧和右侧的最大高度。在遍历输入数组时,我们比较 leftMax 和 rightMax 中的较小值,如果 leftMax 比较小,则说明在 left 的右侧存在一个柱子高度大于 leftMax,此时可以计算出 left 和当前位置之间的雨水量,并将 left 指针右移一位。如果 rightMax 比较小,则说明在 right 的左侧存在一个柱子高度大于 rightMax,此时可以计算出 right 和当前位置之间的雨水量,并将 right 指针左移一位。当 left 和 right 相遇时,遍历结束。
展开23
![[抓狂]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_18.b93331d.png)
![[撇嘴]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_14.8130d96.png)
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)
![[晕]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_33.12a8e53.png)
![[捂脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_28.8981538.png)