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 個缺失的正整數。

請注意:

  1. 缺失的數字必須是大於數列首項的正整數。

  2. 缺失的數字包含數列中間中斷的部分,也包含數列最後一項之後無限延伸的數字。

輸入值的格式

輸入為一行,包含多個整數:

  • 第一個整數 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

There are no comments at the moment.