Palindrome One Remover
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Java 19, Java 8
題目說明
回文 (Palindrome) 是指一個數列從左邊讀到右邊,與從右邊讀到左邊的內容完全相同。例如 [1, 2, 1] 和 [3, 3, 3, 3] 都是回文,但 [1, 2, 3] 則不是。
現在給定一個整數 n,以及一個長度為 n 的整數數列。請你寫一個程式,從這個數列中移除恰好一個元素,使得剩下的 n-1 個元素所組成的數列變成一個回文。
題目保證輸入的數列中,必定存在至少一個元素可以被移除來滿足上述條件。如果有多個位置的元素移除後都能形成回文,題目保證這些位置上的數值都是相同的。請輸出被移除的那個數值。
輸入值的格式
輸入共有兩行: 第一行包含一個整數 n (2 <= n <= 100),表示數列的長度。 第二行包含 n 個整數,每個整數之間以一個空白隔開。每個整數的數值範圍皆在 [1, 100] 之間。
輸出值的格式
請輸出一個整數,代表被移除的那個元素的數值。輸出後請換行。
各種需要注意的邊界條件
請輸出一個整數,代表被移除的那個元素的數值。輸出後請換行。
數列長度: 雖然 n 可能很小 (例如 2),但解法需適用於一般長度。
移除位置: 被移除的元素可能位於數列的開頭、結尾,或是中間的任何位置。
重複數值: 數列中可能包含許多重複的數字。
已經是回文: 輸入的數列本身可能已經是回文(例如 [1, 2, 2, 1]),此時仍需嘗試移除一個元素,看剩下的部分是否仍為回文。
唯一解保證: 你不需要處理「無解」或「多種不同數值解」的情況,輸入資料保證合法。
sample input1
5 1 2 77 2 1sample output1
77解釋:若移除中間的 77,剩下的數列為 [1, 2, 2, 1],這是一個回文。
sample input2
6 1 2 3 2 1 123sample output2
123解釋:移除最後一個數字 123,剩下的數列為 [1, 2, 3, 2, 1],是回文。
Comments