2025/10/16
思路:从左到右遍历,第一次出现往下降的趋势时,开启接水模式(flag),记录左高度,统计与左高度的差,加到结果里。直到出现比左高度还高的右高度,关闭接水模式,继续往后,直到再次出现下降的趋势
评价:不能处理局部最高
思路:从左到右遍历,第一次出现往下降的趋势时,开启接水模式(flag),记录左高度,在这个过程中开一个队列,记录下降的信息,直到开始上升时,开始统计接雨水加到结果里,直到1.再次下降/或者2.比队列头高或持平。对第1种情况,把从队列pop到这个右高度,然后把剩下的统计加起来作为接到的雨水;对第2种情况,直接统计整个队列的雨水。关闭接水模式,直到再次下降。
评价:思路完全正确,这个队列属于单调队列,但是用栈,从低到高统计雨水方便一点