Find the First Difference in String Arrays
Submit solution
Points:
10
Time limit:
1.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Java 19, Java 8
題目說明
給定一個整數 n,代表陣列的長度。
接著給定兩個長度均為 n 的字串陣列,分別稱為 Array A 與 Array B。
題目保證這兩個陣列的內容幾乎完全相同,
只有在「恰好一個索引位置」上,兩個陣列的字串內容不同。
請撰寫一個程式找出這個差異發生的位置,
並依序輸出以下三個資訊:
- 差異發生處的索引值
- Array A 在該位置的字串
- Array B 在該位置的字串
輸入值的格式
輸入分為三行:
- 第一行包含一個正整數 n,代表陣列長度
- 1 <= n <= 100
- 第二行包含 n 個以空白分隔的字串,代表 Array A 的元素
- 第三行包含 n 個以空白分隔的字串,代表 Array B 的元素
注意:字串內不包含空白字元。
輸出值的格式
請輸出一行,包含三個資訊,彼此以一個空白字元分隔:
- 差異發生處的索引值(整數,範圍為 0 到 n-1)
- Array A 在該位置的字串
- Array B 在該位置的字串
各種需要注意的邊界條件
極小值:
當陣列長度 n = 1 時,該唯一位置即為差異點差異位置:
差異可能發生在陣列的第一個位置(Index 0)
或最後一個位置(Index n-1)內容重複:
陣列中其他位置可能包含相同的字串
程式必須依據「索引位置」逐一比對,而非僅檢查集合內容字串內容:
字串可能包含數字、英文字母或符號
大小寫不同(例如 "a" 與 "A")視為不同字串
sample input1
5
apple banana cherry date elderberry
apple banana citrus date elderberrysample output1
2 cherry citrus說明
陣列長度為 5,索引範圍為 0 ~ 4
逐一比對兩個陣列內容:
索引 0、1 內容相同
索引 2 發現不同:
Array A 為 cherry
Array B 為 citrus
題目保證只有一個差異位置,因此直接輸出 索引 + Array A 的字串 + Array B 的字串
sample input2
1
Hello
hellosample output2
0 Hello hello說明
陣列長度 n = 1,只有索引 0
該位置的字串內容不同:
"Hello" 與 "hello" 大小寫不同,視為不同字串
因此差異位置為 0,直接輸出對應結果
Comments