LeetCode 题解:42. 接雨水,双指针,JavaScript,详细注释
原题连接:https://leetcode-cn.com/problems/trapping-rain-water/
解题思路:
将每个柱子都当做一个水桶,单独计算其转水量,再加和即可得到结果。
使用两个指针分别指向左右桶壁。
假设当前要计算第i个水桶的转水量,其实我们只关心它的左右桶壁中较低的一个。
第i个水桶的指针只要选取从左右桶壁中较小的一个,就保证了当前的桶壁高度必然比另一侧的所有高度都小,即可用来计算当前桶的转水量。
完成计算后,把当前桶的指针向内移动,判断并计算下一个桶的转水量即可。
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/bae83916010e9c3f1ee3af6dd】。文章转载请联系作者。
评论