K-th Missing Number in a Sorted Sequence
Submit solution
Points:
10
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
給定一個含有 n 個正整數的數列,該數列已經依照從小到大的順序排列,且其中的數字皆不重複。
這個數列原本應該是連續而且持續遞增的無窮數列(例如 4, 5, 6, 7...),但目前的數列中缺少了一些數字。我們的目標是找到從數列第一個數字開始往後數,第 k 個缺失的正整數。
請注意:
缺失的數字必須是大於數列首項的正整數。
缺失的數字包含數列中間中斷的部分,也包含數列最後一項之後無限延伸的數字。
輸入值的格式
輸入為一行,包含多個整數:
- 第一個整數 n,代表數列的長度。
- 接下來的 n 個整數,代表已排序的遞增數列 A[0], A[1], ..., A[n-1]。
- 最後一個整數 k,代表要尋找第幾個缺失的數字。
輸出值的格式
輸出一個整數,即第 k 個缺失的數字。
各種需要注意的邊界條件
- 數列長度 n 為 1 的情況。
- k 的值很大,超過了數列中所有數字中斷的總數,必須在數列末尾繼續往後數。
- 數列本身已經是完全連續的(例如 1, 2, 3),此時所有缺失值都在數列末尾。
- k 剛好落在數列中間的某個縫隙中。
- 第一個缺失值就在前兩個數字之間。
測試資料(1)-輸入
4 4 7 9 10 1
測試資料(1)-輸出
5
測試資料(1)-解釋與特性
典型情況。數列由 4 開始,缺失清單為 5, 6, 8, 11, 12...,第 1 個是 5。
測試資料(2)-輸入
3 1 2 3 2
測試資料(2)-輸出
5
Comments