Saturday, 24 November 2018

Trapping Rain Water Problem Using Java

/*package whatever //do not write package name here */

import java.util.*;
import java.lang.*;
import java.io.*;

class GFG {
public static void main (String[] args) {
    Scanner sc=new Scanner(System.in);
    int t=sc.nextInt();
    while(t>0)
    {
        t--;
        int n=sc.nextInt();
        int []a=new int[n];
        int []l=new int[n];
        int []r=new int[n];
        int max=0;
        for(int i=0;i<n;i++)
        {
            a[i]=sc.nextInt();
        }
           int max1=a[0];
       int  max2=a[n-1];
        for(int i=1;i<n;i++)
        {
            if(max1<a[i])
            {
                max1=a[i];
            }
            else{
                l[i]=max1-a[i];
            }
            if(max2<a[n-i-1])
            {
                max2=a[n-i-1];
            }
            else{
                r[n-i-1]=max2-a[n-i-1];
            }
        }
int c=0;
for(int i=1;i<n-1;i++)
        {
            if(r[i]<l[i])
{
c=c+r[i];
}
else
{
   c=c+l[i];
}
        }
        System.out.println(c);
    }
}
}

No comments:

Post a Comment