Desafío simple: dada una serie de números enteros positivos, encuentre el número que contiene entre sus dígitos la ejecución más larga de dígitos consecutivos. ¿El truco? Está permitido que los dígitos en las ejecuciones se ajusten a los valores posibles ( 0123456789
) y se ejecuten hacia atrás. Entonces 2345
, ambas , 89012
y 5432109
son ejecuciones válidas de dígitos consecutivos (pero no 3456765
ni 321090123
como la ejecución debe estar siempre en la misma dirección, aunque 3456765
puede considerarse como dos ejecuciones: 34567
y 765
). En caso de empate, devuelva el primero.
Casos de prueba:
Input: [3274569283, 387652323, 23987654323648, 2345687913624]
Output: 23987654323648
(The run is 98765432; run length: 8)
Input: [123012363672023, 098761766325432, 15890123456765]
Output: 15890123456765
(The run is 8901234567; run length: 10)
Input: [43, 19, 456]
Output: 456
Input: [5, 9, 0]
Output: 5
Input: [71232107, 7012347]
Output: 7012347
Input: [1234, 32109876]
Output: 32109876
Input: [9090, 123]
Output: 123
Notas:
- Habrá al menos un número en la entrada.
- Los números de entrada pueden contener ceros a la izquierda.
- La entrada y salida pueden estar en cualquier formato razonable . Por lo tanto, los números de entrada pueden tomarse como cadenas, listas de dígitos / caracteres ...
- La salida puede contener espacios en blanco finales y / o iniciales y nuevas líneas siempre que se imprima el número.
- Este es el código de golf , ¡así que puede ganar el programa / función más corto para cada idioma!
[7,8,1,6]
tiene una ejecución máxima de en[7,8]
lugar de[6,7,8]
, ¿sí?78
en ese caso.Respuestas:
Jalea , 18 bytes
Pruébalo en línea!
Toma y devuelve una lista de dígitos para preservar los ceros a la izquierda.
fuente
3210
en el primer número por cierto)A
hay allí.JavaScript (ES6),
10410298 bytesToma la entrada como una lista de listas de dígitos. Devuelve el mejor.
Casos de prueba
Mostrar fragmento de código
fuente
Jalea ,
18 1615 bytesUn enlace monádico que toma una lista de listas de dígitos y devuelve el más a la izquierda que contiene una ejecución máxima como se describe.
Pruébalo en línea! o ver un conjunto de pruebas (con procesamiento para hacer que la E / S parezca estar en la pregunta).
¿Cómo?
fuente
V€
No estoy seguro de eso, es posible que tenga que contar los ceros a la izquierda.Python 2 , 118 bytes
Toma una lista de listas de dígitos
a
; devuelve una de sus listas.Pruébalo en línea!
fuente
[[9,0,9,0],[1,2,3]]
.Cáscara , 20 bytes
Toma y devuelve una lista de listas de dígitos. Pruébalo en línea!
Explicación
fuente
MATLAB, 130 bytes
Tome la entrada a la matriz, matriz de diferencias de columna [X (2) -X (1), ..., X (n) -X (n-1)], verifique el valor más frecuente en la matriz (1 orden ascendente - 1 de lo contrario), obtenga el índice para el valor más frecuente o -9 multiplicado por el valor más frecuente (-9 ocurre en orden ascendente, 9 de lo contrario), encuentre los índices consecutivos (es decir, cuya diferencia es igual a 1) y sume por favor, porque es tarde Salida la más grande.
Pruébalo en línea!
fuente