El desafío es identificar el número que falta en una cadena de enteros no delimitados.
Se le da una cadena de dígitos (la entrada válida coincidirá con la expresión regular ^[1-9][0-9]+$
). La cadena representa una secuencia de enteros. Por ejemplo, 1234567891011
. Todos los números en la secuencia están en el rango de 1
e 2147483647
inclusive.
La secuencia es una serie de números donde cada número es uno mayor que su predecesor. Sin embargo, esta secuencia puede contener uno y solo un número faltante de la secuencia. Es posible que una cadena dada tampoco contenga números faltantes de la secuencia. La cadena siempre contendrá al menos dos números de la secuencia.
El código debe generar o devolver el valor faltante, o 0
(esto es un 0
- no un valor falso) en el caso de que no se hayan encontrado valores faltantes.
Las siguientes son entradas válidas y su salida / retorno:
input output actual sequence (for refrence)
123467 5 1 2 3 4 _ 6 7
911 10 9 __ 11
123125126 124 123 ___ 125 126
8632456863245786324598632460 8632458 8632456 8632457 _______ 8632459 8632460
123 0 1 2 3
8632456863245786324588632459 0 8632456 8632457 8632458 8632459
Si bien todo esto se describe como una 'cadena' como entrada, si el lenguaje es capaz de manejar números arbitrariamente grandes ( dc
y mathematica
, los estoy mirando a ustedes dos), la entrada puede ser un número arbitrariamente grande en lugar de una cadena si eso hace El código más fácil.
Como referencia, esto se inspiró en la pregunta de Programmers.SE: Encuentra el número faltante en secuencia en la cadena