Wyzwanie polega na zidentyfikowaniu brakującej liczby w ciągu nieokreślonych liczb całkowitych.
Otrzymujesz ciąg cyfr (prawidłowe dane wejściowe będą pasować do wyrażenia regularnego ^[1-9][0-9]+$
). Ciąg reprezentuje ciąg liczb całkowitych. Na przykład 1234567891011
. Wszystkie liczby w sekwencji są w zakresie od 1
i 2147483647
włącznie.
Sekwencja jest ciągiem liczb, w których każda liczba jest o jeden większa od swojego poprzednika. Jednak ta sekwencja może zawierać jedną i tylko jedną brakującą liczbę z sekwencji. Możliwe, że dany ciąg nie zawiera również brakujących liczb w sekwencji. Ciąg zawsze będzie zawierał co najmniej dwie liczby z sekwencji.
Kod musi wygenerować lub zwrócić brakującą wartość lub 0
(to 0
nie jest wartość fałsz) w przypadku, gdy nie znaleziono brakujących wartości.
Poniżej przedstawiono prawidłowe dane wejściowe i ich wynik / zwrot:
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
Chociaż wszystko to jest opisane jako „ciąg” jako dane wejściowe, jeśli język jest w stanie obsłużyć dowolnie duże liczby ( dc
i mathematica
, patrzę na was dwoje), wejściem może być dowolnie duża liczba zamiast łańcucha, jeśli to powoduje kod łatwiejszy.
Dla porównania, zostało to zainspirowane pytaniem Programmers.SE: Znajdź brakującą liczbę w sekwencji w ciągu