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.

Reply via email to