Difficulty Level: HARD
Problem Statement:
Given an array of N non-negative integers arr[] representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after rain.
Input:
arr[] = {3, 0, 2, 0, 4}
Output:
7
We can trap “3 units” of water between 3 and 2, “1 unit” on top of bar 2 and “3 units” between 2 and 4.