problem id:-http://practice.geeksforgeeks.org/problems/repetition-of-k-length-substring/1
code:--
code:--
bool checkString(string str, int k) { int l=str.length(); if(l%k==0) { if(l<=2*k) return true; unordered_map<string,int> m; int i=0; while(str[i]!='\0') { int j=0; string st=""; while(j<k) { st+=str[i]; ++j; ++i; } ++m[st]; } if(m.size()==1) return true; else if(m.size()>2) return false; for(unordered_map<string,int> ::iterator itr=m.begin();itr!=m.end();++itr) { if((*itr).second==l/k-1) return true; } return false; } return false; }
No comments:
Post a Comment