Trapping Rain Water

PHOTO EMBED

Mon Feb 13 2023 07:52:56 GMT+0000 (Coordinated Universal Time)

Saved by @Ranjan_kumar #c++

class Solution {
public:
    int trap(vector<int>& height) {
        int n=height.size();
        int Pmax[n], Bmax[n];
        int p=0,b=0;
        for(int i=0;i<n;i++)
        {
            Pmax[i]=p;
            if(height[i]>=p) p=height[i];
        }
        for(int i=n-1;i>=0;i--)
        {
            Bmax[i]=b;
            if(height[i]>=b) b=height[i];
        }
        int ans=0;
        for(int i=0;i<n;i++)
        {
            int Lmin=min(Pmax[i],Bmax[i]);
            if((Lmin==0)||(height[i]>=Lmin)) 
            {
                continue;
            }
            else
            {
                ans+=(Lmin-height[i]);
            }
        }
        return ans;
        
    }
};
content_copyCOPY

https://leetcode.com/problems/trapping-rain-water/