Problema:
Sua tarefa é decidir se, em uma sequência de números, cada número contém pelo menos um dos dígitos do número que o precedeu.
Por exemplo, o seguinte deve retornar verdade:
[1, 12, 203, 0, 30]
^ ^ Contains a 0
^ Contains a 2
^ Contains a 1
O seguinte deve retornar falsey:
[1, 32, 23, 34]
^ Doesn't contain a 1, therefore false
Seu envio pode ser uma função ou um programa completo.
Entrada:
A entrada pode ser qualquer tipo razoável de sequência. Uma matriz de números, uma matriz de cadeias, uma cadeia de números delimitada, etc.
Porém, a ordem é importante, portanto, qualquer estrutura que você escolher aceitar como entrada obviamente deve ter uma ordem definida.
A entrada pode ser obtida via stdin ou como argumento.
Você pode assumir:
todos os números serão inteiros não negativos
entrada sempre conterá pelo menos 2 números
os números de entrada não começarão com um 0
Saída:
A saída será um valor verdadeiro ou falso (conforme definido pelo seu idioma), representando se a especificação acima foi ou não atendida.
Os valores de verdade / falsey não precisam ser consistentes entre os testes.
Pode ser enviado para o stdout ou retornado.
Casos de teste:
True cases:
[1, 1, 1, 11, 111, 11, 1]
[12, 23, 34, 45, 56]
[65, 54, 43, 32, 21]
[123, 29, 9, 59, 55, 52, 2017, 2]
[1234567890, 19, 95, 5012, 23]
False cases:
[1, 2, 3, 4, 5, 1, 11] (2 doesn't contain a 1)
[12, 23, 33, 45] (45 doesn't contain a 3)
[98, 87, 76, 11, 12, 23] (11 doesn't contain a 7 or 6)
Isso é código-golfe, então o menor número de bytes vence.