Palavras dentro de palavras

Published by zatoichi49 in

As palavras podem ser agrupadas quando uma palavra pode ser encontrada dentro de outra (por exemplo, eat está em heat e theater). Dada uma lista de palavras, retorne um dicionário que agrupe cada palavra com uma lista de todas as outras palavras que a contêm. Cada grupo de palavras deve ser retornado em ordem alfabética.

Exemplos

word_groups(["grates", "rat", "rates", "rations"]) ➞ {
  "rates": ["grates"],
  "rat": ["grates", "rates", "rations"]
}

word_groups(["duct", "produce", "product", "rod"]) ➞ {
  "duct": ["product"],
  "rod": ["produce", "product"]
}

word_groups(["her", "the", "here", "other", "there"]) ➞ {
  "the": ["other", "there"],
  "here": ["there"],
  "her": ["here", "other", "there"]
}

Notas

As palavras podem pertencer a mais de um grupo.