Crie um programa ou função que tome uma lista de cadeias como entrada e produza a cadeia mais longa que é uma substring de todas as cadeias de entrada. Se houver várias substrings de comprimento igual e não mais substring, produza qualquer uma delas.
- Isso pode significar a saída da string vazia.
- Se houver várias saídas válidas, você poderá produzir qualquer uma delas. Você não precisa fornecer uma saída consistente para uma determinada entrada, desde que a saída seja sempre válida.
- Sempre haverá pelo menos uma sequência na entrada, mas pode não haver uma sequência não vazia.
- Todos os caracteres ASCII imprimíveis podem aparecer na entrada. Você pode assumir que esses são os únicos caracteres que aparecem.
- Você pode receber entrada ou produzir saída por qualquer um dos métodos padrão .
- As brechas padrão não são permitidas.
- Isso é código-golfe - quanto menos bytes de código, melhor.
Casos de teste:
[Inputs] -> [Valid outputs (choose one)]
["hello", "'ello"] -> ["ello"]
["very", "much", "different"] -> [""]
["empty", "", "STRING"] -> [""]
["identical", "identical"] -> ["identical"]
["string", "stRIng"] -> ["st", "ng"]
["this one", "is a substring of this one"] -> ["this one"]
["just one"] -> ["just one"]
["", "", ""] -> [""]
["many outputs", "stuptuo ynam"] -> ["m", "a", "n", "y", " ", "o", "u", "t", "p", "s"]
["many inputs", "any inputs", "ny iii", "yanny"] -> ["ny"]
["%%not&", "ju&#st", "[&]alpha_numeric"] -> ["&"]
undefined
não há uma sequência de saída válida. Se a sequência vazia (ou qualquer outra sequência) for uma saída válida, alegando que não há saída válida está incorreta.