Java || Easy to Understand || Auxiliary space

class Solution {

public int trap(int[] height) {
    
    int n=height.length;
    int rmax[]= new int[n];
    int lmax[]= new int[n];
    
    lmax[0]=height[0];
    rmax[n-1]=height[n-1];
    
    for(int i=1;i<n;i++)
        lmax[i]=Math.max(height[i],lmax[i-1]);
    
    for(int i=n-2;i>=0;i--)
        rmax[i]=Math.max(height[i],rmax[i+1]);
    
    int sum=0;
    
    for(int i=0;i<n;i++)
        sum+=Math.min(lmax[i],rmax[i])-height[i];
    return sum;
    
}

}

Comments (0)