Largest Number with Frequency K


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Java 19, Java 8

題目說明

請撰寫一個程式,分析一組整數數列。

程式需依序讀入目標出現次數 k 與數列長度 n,
接著讀入 n 個整數。題目保證所有輸入的整數值皆介於 1 到 20 之間(含)。

請計算數列中每個數字出現的次數,
找出那些「恰好出現 k 次」的數字。

若有多個數字符合條件,請輸出其中 數值最大的那一個

題目保證輸入資料中,至少會有一個數字恰好出現 k 次。


輸入值的格式

輸入分為三行:

  1. 第一行:一個正整數 k,代表目標出現次數
    • 1 <= k <= n
  2. 第二行:一個正整數 n,代表數列的長度
    • 1 <= n <= 100
  3. 第三行:n 個整數,以空白字元分隔
    • 每個整數的值域保證在 1 到 20 之間

輸出值的格式

輸出一個整數,
代表在輸入數列中「恰好出現 k 次」的所有數字中,數值最大者。


各種需要注意的邊界條件

  • 多個解的情況
    可能有多個不同的數字都恰好出現 k 次,
    必須選擇其中數值最大的輸出

  • 極小規模
    當 n = 1 且 k = 1 時,唯一的數字即為答案

  • 完全重複
    所有數字皆相同,且 n = k

  • 無重複
    當 k = 1 且所有數字都只出現一次時,
    應輸出整個數列中的最大值

  • 值域邊界
    輸入的數字可能包含最小值 1 或最大值 20

  • 干擾項
    部分數字出現次數大於 k,部分小於 k,
    程式必須正確判斷,不能被這些數字誤導


sample input1

2
6
1 2 2 3 3 3

sample output1

2

說明

目標出現次數 k = 2

數列長度 n = 6

數列內容為 [1, 2, 2, 3, 3, 3]

分析每個數字的出現次數:

1 出現 1 次

2 出現 2 次

3 出現 3 次

只有數字 2 出現恰好 2 次,並且它是數值最大的符合條件的數字

因此輸出 2

sample input2

1
5
4 1 5 3 2

sample output2

5

說明

目標出現次數 k = 1

數列長度 n = 5

數列內容為 [4, 1, 5, 3, 2]

分析每個數字的出現次數:

4 出現 1 次

1 出現 1 次

5 出現 1 次

3 出現 1 次

2 出現 1 次

所有數字都恰好出現 1 次,最大數字是 5

因此輸出 5


Comments

There are no comments at the moment.