Two Jewel Pair
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
你有一條由 n 顆寶石組成的長鏈,每顆寶石以一個正整數表示其種類。
請觀察這條長鏈中所有相鄰兩顆寶石所形成的連續子序列(子序列長度固定為 2),並計算每一組相鄰寶石在整條長鏈中出現的次數。
你的任務是找出出現次數最多的那些相鄰寶石子序列。若有多組子序列的出現次數並列最多,必須全部輸出。
輸出時,請依照它們在原長鏈中第一次出現的位置排序,起始索引較小者優先。
若所有長度為 2 的子序列都只出現一次,表示沒有任何區段可以被重複切出,請輸出指定字串。
輸入格式
- 第一行為一個整數
n(2 ≤ n ≤ 100000),代表寶石數量。 - 第二行為
n個以空白分隔的正整數,表示寶石種類序列。 - 寶石種類編號均為
1 ~ 10^9之間的整數。
輸出格式
若沒有任何子序列出現超過一次,請輸出:
Cannot cut out any segment.
否則,請將所有出現次數最多的子序列依序輸出,每行一組,數字間以一個空白分隔。
Sample Input 1
8
10 20 30 10 20 30 50 50
Sample Output 1
10 20
20 30
說明
相鄰子序列與出現次數如下:
| 子序列 | 出現次數 | 第一次出現位置(索引) |
|---|---|---|
| 10 20 | 2 次 | 0 |
| 20 30 | 2 次 | 1 |
| 30 10 | 1 次 | 2 |
| 30 50 | 1 次 | 5 |
| 50 50 | 1 次 | 6 |
其中:
10 2020 30
出現次數最多(2 次),且 10 20 在索引 0 最早出現,因此先輸出。
Sample Input 2
5
1 2 3 4 5
Sample Output 2
Cannot cut out any segment.
Comments