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 AArray B

題目保證這兩個陣列的內容幾乎完全相同,
只有在「恰好一個索引位置」上,兩個陣列的字串內容不同。

請撰寫一個程式找出這個差異發生的位置,
並依序輸出以下三個資訊:

  1. 差異發生處的索引值
  2. Array A 在該位置的字串
  3. Array B 在該位置的字串

輸入值的格式

輸入分為三行:

  1. 第一行包含一個正整數 n,代表陣列長度
    • 1 <= n <= 100
  2. 第二行包含 n 個以空白分隔的字串,代表 Array A 的元素
  3. 第三行包含 n 個以空白分隔的字串,代表 Array B 的元素

注意:字串內不包含空白字元。


輸出值的格式

請輸出一行,包含三個資訊,彼此以一個空白字元分隔:

  1. 差異發生處的索引值(整數,範圍為 0 到 n-1)
  2. Array A 在該位置的字串
  3. Array B 在該位置的字串

各種需要注意的邊界條件

  • 極小值
    當陣列長度 n = 1 時,該唯一位置即為差異點

  • 差異位置
    差異可能發生在陣列的第一個位置(Index 0)
    或最後一個位置(Index n-1)

  • 內容重複
    陣列中其他位置可能包含相同的字串
    程式必須依據「索引位置」逐一比對,而非僅檢查集合內容

  • 字串內容
    字串可能包含數字、英文字母或符號
    大小寫不同(例如 "a" 與 "A")視為不同字串


sample input1

5 
apple banana cherry date elderberry 
apple banana citrus date elderberry

sample output1

2 cherry citrus

說明

陣列長度為 5,索引範圍為 0 ~ 4

逐一比對兩個陣列內容:

索引 0、1 內容相同

索引 2 發現不同:

Array A 為 cherry

Array B 為 citrus

題目保證只有一個差異位置,因此直接輸出 索引 + Array A 的字串 + Array B 的字串

sample input2

1 
Hello 
hello

sample output2

0 Hello hello

說明

陣列長度 n = 1,只有索引 0

該位置的字串內容不同:

"Hello" 與 "hello" 大小寫不同,視為不同字串

因此差異位置為 0,直接輸出對應結果


Comments

There are no comments at the moment.