第42题 TrappingRainWater

题目要求: 计算存水量

题目难度: 难

解题思路

1. 从左向右和从右向左遍历

2. 左边设置一个隐形的bar,右边设置一个隐形的bar,都为0

3. 如果左边的高度小于右边的高度,比较左边的高度和隐形的bar的高度,将大的值设置为隐形的bar的高度

随着指针的移动,储水量为隐形的bar的高度-当前的高度,(前提条件为,右边的高度大于左边的隐形的bar的高度)

4.右边同理,更新储水量的值。

算法复杂度:

    时间复杂度:O(N)

    空间复杂度:O(1)

代码:

你可能感兴趣的:(第42题 TrappingRainWater)