Daily C/C++ 接雨水 leetcode的题,这道题算是十分经典的一道题了,有很多种解法 题目链接 对于单调栈的做法来说,我们维护的是每个元素两边比他大的第一个元素的值以及位置,然后用值乘上这两个比他大的元素划分出来的范围,就是结果 这种做法更像是把答案用高度来进行横向的切割 而更加简单的思路是维护每个元素的两边的最大值,然后每个元素的贡献就是两个最大值之间较小的那一个减去当前元素的高度 这种做法是把答案纵向切割,单独考虑每个位置,长度永远就都是1 这里想说的是维护最大值的算法的一个优化版,就是利用双指针维…