方法一:(动态规划)
思路展示
对于下标 i,下雨后水能到达的最大高度等于下标 i 两边的最大高度的最小值,下标 i 处能接的雨水量等于下标 i 处的水能到达的最大高度减去 height[i]。
示例代码
效果展示
方法二:(单调栈)
示例代码
效果展示
方法三:(双指针)
思路展示
下标 i 处能接的雨水量由 leftMax[i] 和 rightMax[i] 中的最小值决定。
示例代码
效果展示
对于下标 i,下雨后水能到达的最大高度等于下标 i 两边的最大高度的最小值,下标 i 处能接的雨水量等于下标 i 处的水能到达的最大高度减去 height[i]。
下标 i 处能接的雨水量由 leftMax[i] 和 rightMax[i] 中的最小值决定。