public class TrappingRainwaterProblem { public static void main(String[] args) { int[] arr = { 0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1 }; int ans = rainWater(arr); System.out.println(ans); } static int rainWater(int arr[]) { int n = arr.length; int left[] = new int[n]; int right[] = new int[n]; left[0] = arr[0]; for(int i=1; i= 0; i--) { right[i] = Math.max(right[i+1], arr[i]); } int ans = 0; for(int i=0; i