O(N) C++ bhai ne kia check karlo


#1
vector<int> Solution::findPerm(const string A, int B) {
    vector<int> ans;
    int D = 0,I=0;
    for(int i=0;i<A.length();i++){
        if(A[i]=='D')
            D++;
        else
            I++;
    }
    int i = 0 , j = 0;
    if(A[0]=='D'){
        ans.push_back(B);
        i = D;
        j = B - I;
    }
    else{
        ans.push_back(1);
        i = 1 + D;
        j = B - I+1;
    }
    // cout<<i<<" "<<j<<"\n";
    for(int x = 0;x <A.length();x++){
        if(A[x]== 'D'){
            ans.push_back(i);
            i--;
        }
        else{
            ans.push_back(j);
            j++;
        }
    }
    return ans;
}