Dada una lista de cadenas, reemplace cada cadena por una de sus subcadenas no vacías, que no es una subcadena de ninguna de las otras cadenas de la lista y lo más corta posible.
Ejemplo
Teniendo en cuenta la lista ["hello","hallo","hola"]
, "hello"
debe ser reemplazado por igual "e"
ya que esta subcadena no está contenida en "hallo"
e "hola"
y es lo más corta posible. "hallo"
podría ser reemplazado por cualquiera de "ha"
o "al"
y "hola"
por cualquiera de "ho"
, "ol"
o "la"
.
Reglas
- Puede suponer que las cadenas no estarán vacías y solo contendrán caracteres alfabéticos del mismo caso.
- Puede suponer que existe una subcadena para cada cadena de la lista, es decir, ninguna cadena de la lista será una subcadena de ninguna de las otras cadenas.
- La entrada y salida pueden estar en cualquier formato razonable.
- Este es el código de golf , así que trate de usar la menor cantidad de bytes posible en el idioma que elija.
Casos de prueba
Solo se proporciona una salida posible para la mayoría de los casos.
["ppcg"] -> ["p"] (or ["c"] or ["g"])
["hello","hallo","hola"] -> ["e","ha","ho"]
["abc","bca","bac"] -> ["ab","ca","ba"]
["abc","abd","dbc"] -> ["abc","bd","db"]
["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"]
["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"]
Relacionado: Subcadena de identificación más corta : idea similar, pero reglas más complicadas y formato engorroso.
""
identifica (cadena vacía) de forma única para el"ppcg"
caso único ?