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

int removeDuplicates(vector<int>& nums) {
    int n=nums.size();
    if (n==0 or n==1) {
        return n;
    }
    int j=0;
    for (int i=0;i<n-1;i++) {
        if (nums[i] != nums[i+1]) {
            nums[j++] = nums[i];
        }
    }
    nums[j++]=nums[n-1];
    return j;
}

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

int findMaxConsecutiveOnes(vector<int>& nums) {
    int n=nums.size();
    int max_count=0;
    int count=0;
    for (int i=0;i<n;i++) {
        if (nums[i] == 1) {
            count = count +1;
            max_count = max(count, max_count);
        } 
        else {
            count=0;
        }
    }
    return max_count;
}

Last updated

Was this helpful?