Divida a string em substrings com caracteres não sobrepostos

A função recebe uma string com caracteres minúsculos. Divida a string no maior número possível de substrings, de modo que cada caractere apareça em apenas uma substring. Retorne a lista de comprimentos das substrings resultantes.

Exemplos

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.

Observações

Xavier apreciaria profundamente que você resolvesse este desafio usando recursão com uma abordagem gulosa.