链接:
. - 力扣(LeetCode)
题目描述:
思路:
判断一块地方是否可以接到雨水,只需要判断他是否有左右边界使他可以接到水
左右边界分别为此处左侧的最高点和右侧的最高点
同时此处可接雨水的高度为左右两处边界的最小值-自身的高度
代码示例:
我们可以创建两个数组代表某处左右边界的高度
左边界的第一个值与右边界的最后一个值均可修改为0
以左边界为例:
从第二个点开始
如果一个点左边点的的边界高于左边的点自身,那么该处则与左边的点有相同的边界
否则该处边界即为左边的点自身。
右边界类似
然后进入循环,如果左右边界的最小值大于自身的高度,那么可接雨水为min(左边界,右边界)-自身。