Day7: (2-pointer)

Trapping rain water Solved on: 26th Aug 2020

#include<iostream>
#include<bits/stdc++.h> 
using namespace std;
int main()
 {
    int t, n;
    cin >> t;
    while (t--) {
        cin >> n;
        int arr[n];
        for (int i=0;i<n;i++) {
            cin >> arr[i];
        }
        int left[n];
        int right[n];
        int ans=0;
        left[0]=arr[0];
        for(int i=1;i<n;i++) {
            left[i] = max(left[i-1], arr[i]);
        }
        
        right[n-1]=arr[n-1];
        for(int i=n-2;i>=0;i--) {
            right[i] = max(right[i+1], arr[i]);
        }
        
        for (int i=0;i<n;i++) {
            ans = ans + ( min(left[i], right[i]) - arr[i] );
        }
        cout << ans << "\n";
    }
	return 0;
}
}

Remove Duplicate from Sorted array Solved on: Aug 26th 2020

Max continuous number of 1’s Solved on: Aug 26th 2020

Last updated

Was this helpful?