Ad
  • Custom User Avatar

    It only works both ways by chance that second case. You need to take into account every possible way of removing pairs. The expected value is the one which is alphabetically the smallest (left to right). "czab" < "zacb". But remember, the remaining characters still need to maintain their original order. Characters cannot "jump" over other ones.

  • Custom User Avatar
  • Custom User Avatar

    kthxbye

  • Custom User Avatar

    I may have not completely understood the instructions, but why would solve("czaccb") give "czab" instead of "zacb"?
    I naively thought that you should use a rolling algorithm to remove each duplicate beginning on the left side :

    czaccb -> _za_cb -> zacb
    

    edit : this algorithm works with the second example

    geeegfffgdadd -> _eee_fffgdadd -> eeefffgdadd -> __efffgdadd -> efffgdadd -> e__fgdadd -> efgdadd -> efg_a_d -> efgad
    

    What am I getting wrong?