n个非负整数,数值代表高度,问这样的形状能收集多少雨水。原题的图片有助于理解题意。
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.
The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped. Thanks Marcos for contributing this image!Example:
Input: [0,1,0,2,1,0,1,3,2,1,2,1] Output: 6
开始之前先看一张图,直观感受下双指针和栈的操作有什么不同。
核心在于,双指针是一竖条一竖条地把水加起来,栈既有竖条,也有横块。