CPRMT - Common Permutation SPOJ editorial - UCS - Unleash-Coding-Skills

CPRMT - Common Permutation SPOJ editorial - UCS

The link for this problem is CPRMT - Common Permutation :


The Solution to this problem  CPRMT - Common Permutation we are using is best one.

For Each pair of Input Strings, we can take a help of two counter array which counts the number of times each character appears in the string.

So then we can print the each character from a to z :
 a - 0th index in Arrays
b - 1st index in Arrays
c - 2ne index in Arrays
The corresponding location minimum count is taken and the corresponding character is printed that many numbers of times.

The CPP solution for  CPRMT - Common Permutation :

using namespace std;

int main(){
    string a,b;
    while(    cin >> a ){
        cin>> b;
        int cntA[26], cntB[26];
        for(int i=0;i<a.size();i++) cntA[a[i]-'a']++;
        for(int i=0;i<b.size();i++) cntB[b[i]-'a']++;
        for(int i=0;i<26;i++){
          if(cntA[i] > 0 && cntB[i] > 0){
                int s = min(cntA[i],cntB[i]);
                for(int j=0;j<s;j++) cout<<(char)('a'+i);
        cout << endl;
    return 0;

Happy Coding.......

No comments:

Post a Comment