Le défi consiste à identifier le nombre manquant dans une chaîne d'entiers non délimités.
Vous recevez une chaîne de chiffres (une entrée valide correspondra à l'expression régulière ^[1-9][0-9]+$
). La chaîne représente une séquence d'entiers. Par exemple 1234567891011
,. Tous les nombres de la séquence sont compris entre 1
et 2147483647
inclus.
La séquence est une série de nombres où chaque nombre est supérieur de un à son prédécesseur. Cependant, cette séquence peut contenir un et un seul numéro manquant dans la séquence. Il est possible qu'une chaîne donnée ne contienne également aucun nombre manquant dans la séquence. La chaîne contiendra toujours au moins deux nombres de la séquence.
Le code doit générer ou renvoyer la valeur manquante, ou 0
(il s'agit d'une valeur 0
- pas une valeur fausse) dans le cas où aucune valeur manquante n'a été trouvée.
Les entrées suivantes sont valides et leur sortie / retour:
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
Bien que tout cela soit décrit comme une `` chaîne '' en entrée, si la langue est capable de gérer des nombres arbitrairement grands ( dc
et mathematica
, je vous regarde tous les deux), l'entrée peut être un nombre arbitrairement grand au lieu d'une chaîne si cela fait le code plus facile.
Pour référence, cela a été inspiré par la question Programmers.SE: trouver le numéro manquant dans la séquence dans la chaîne