Calculate trapped rainwater
Return the units of rainwater trapped between nonnegative bar heights of unit width. Inputs are valid JSON and must not be modified unless the algorithm uses a local copy. This exercise probes typed data modeling, boundary handling, and algorithm selection.
Input
One JSON value: number[]. See the sample for its exact shape.
Output
One compact JSON value of type number. Strings include JSON quotes; arrays preserve the specified order.
Constraints
Array/string lengths are 0 to 10000 unless stated otherwise. Numbers are integers in [-1000000,1000000]; all computed results fit the safe integer range.
Example
Input
[0,1,0,2,1,0,1,3,2,1,2,1]
Output
6
Example 2 input
[4,2,0,3,2,5]
Output
9
Checks a boundary or contrasting case beyond the public examples.
Public test cases (2)
Input
[0,1,0,2,1,0,1,3,2,1,2,1]
Expected output
6
Input
[]
Expected output
0
Hints (2)
- Start with the required output order and the empty-input behavior.
- Advance the side with the smaller established maximum
Target complexity: time O(n) · space O(1)
