문제는 무제한 정수 문자열에서 누락 된 숫자를 식별하는 것입니다.
숫자 문자열이 제공됩니다 (올바른 입력은 정규식과 일치합니다 ^[1-9][0-9]+$
). 문자열은 정수 시퀀스를 나타냅니다. 예를 들면 다음과 같습니다 1234567891011
. 순서의 모든 번호의 범위는 출신 1
과 2147483647
포함.
순서는 각 숫자가 이전 숫자보다 하나 큰 일련의 숫자입니다. 그러나이 시퀀스 에는 시퀀스에서 누락 된 숫자가 하나만 포함될 수 있습니다. 주어진 문자열에 시퀀스에서 누락 된 숫자가 포함되어 있지 않을 수도 있습니다. 문자열은 항상 시퀀스에서 최소한 두 개의 숫자를 포함합니다.
누락 된 값을 찾을 수없는 경우 코드는 누락 된 값을 출력하거나 반환해야합니다 0
(이는 0
거짓 값이 아님).
다음은 유효한 입력과 출력 / 반환입니다.
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
이 모든 것이 입력으로 '문자열'로 설명되어 있지만 언어가 임의로 많은 수를 처리 할 수 있다면 ( dc
그리고 mathematica
두 가지를보고 있습니다) 입력이 문자열 대신 임의로 큰 수 일 수 있습니다. 코드가 더 쉽습니다.
참고로, 이것은 프로그래머에 의해 영감을 얻었습니다 .SE 질문 : 문자열에서 누락 된 숫자 찾기