Divide la cadena en subcadenas con caracteres no superpuestos

La función recibe una cadena con caracteres en minúsculas. Divide la cadena en tantas subcadenas como sea posible, de modo que cada carácter aparezca en una sola subcadena. Devuelve la lista de longitudes de las subcadenas resultantes.

Ejemplos

split_string("abbccc"), [1, 2, 3]
# "a", "bb", "ccc"

split_string("abbacdceef"), [4, 3, 2, 1]
# "abba", "cdc", "ee", "f"

split_string("abacded"), [3, 1, 3]
# "aba", "c", "ded"

split_string("abcdea"), [6]
# "abcdea" because first letter is equal to the last letter.

Notas

Xavier apreciaría profundamente que resolvieras este desafío con recursión usando un enfoque codicioso.