CodeACM
HOT 100 · 双指针 · LC 42

接雨水:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

输入格式

第一行包含一个整数 n,表示柱子数量。

第二行包含 n 个非负整数 height[i],相邻数字以空格分隔。

输出格式

输出一个整数,表示能够接住的雨水总量。

数据范围

  • 1 ≤ n ≤ 2 × 10⁴
  • 0 ≤ height[i] ≤ 10⁵

公开样例

样例 1

输入

12
0 1 0 2 1 0 1 3 2 1 2 1

输出

6

该高度图对应的凹槽最多能接住 6 单位雨水。

样例 2

输入

6
4 2 0 3 2 5

输出

9

数组形成的凹槽一共可以接住 9 单位雨水。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。