Hey I coded it . The answer is either 2 or 1 ..So I guess you guys are rite :)
Here is the code void smallestString(string &str){ if(str.empty()) return; int j=0,i,k=0; for(i=1;i<str.size();i++){ if(str[i]==str[j]){ j++; } else if(str[j]!=str[i]){ if((str[i]=='a' && str[j]=='b') ||(str[i]=='b' && str[j]=='a' )){ str[j]='c'; }else if((str[i]=='b' && str[j]=='c') ||(str[i]=='c' && str[j]=='b' )){ str[j]='a'; }else { str[j]='b'; } str.erase(str.begin()+i); if(j>0)j--; i=j; } } } On Sat, Nov 12, 2011 at 8:19 PM, Nitin Garg <nitin.garg.i...@gmail.com>wrote: > If yes, how do you prove it? > > > On Sat, Nov 12, 2011 at 8:18 PM, Nitin Garg <nitin.garg.i...@gmail.com>wrote: > >> I can prove that the size of resulting string will be 1 or 2. >> >> @surender - >> what do you mean by no of distinct characters? they are 3 in this case - >> a,b and c. >> Do you mean to say that the no. of times each character appears are equal >> then the final string is of size 2. and 1 otherwise????? >> >> >> On Sat, Nov 12, 2011 at 4:57 PM, surender sanke <surend...@gmail.com>wrote: >> >>> @myself >>> >>> if number of distinct characters are equal then its final string size is >>> 2. >>> else there are more repeated characters other than distinct characters >>> then its 1 >>> >>> correct me !!! >>> surender >>> >>> On Sat, Nov 12, 2011 at 4:46 PM, surender sanke <surend...@gmail.com>wrote: >>> >>>> All distinct combinations will result in string size of 2 + rest >>>> repeated characters >>>> eg >>>> abcabcabc ->aabbcc->abc->aa or bb or cc >>>> >>>> surender >>>> >>>> On Sat, Nov 12, 2011 at 4:24 PM, Snoopy Me <thesnoop...@gmail.com>wrote: >>>> >>>>> Given a string consisting of a,b and c's, we can perform the >>>>> following >>>>> operation: >>>>> Take any two adjacent distinct characters and replace it with the >>>>> third character. For example, if 'a' and 'c' are adjacent, they can >>>>> replaced with 'b'. >>>>> What is the smallest string which can result by applying this >>>>> operation repeatedly? >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com. >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>> >>>>> >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/algogeeks?hl=en. >>> >> >> >> >> -- >> Nitin Garg >> >> "Personality can open doors, but only Character can keep them open" >> > > > > -- > Nitin Garg > > "Personality can open doors, but only Character can keep them open" > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.