0
假設我們有兩個陣列: 陣列a1和陣列a2。將陣列元素與其他陣列進行比較後,最有效的方法
'a1'和'a2'的相似之處在於它們都具有相同的大小和相同的元素,但元素不以相同的順序出現。
將兩個數組進行比較並找出使數組'a1'與'a2'的順序相同所需的最小交換次數的最有效方法是什麼?
例如:
int a1[5] = { 1, 2, 3, 4, 5};
int a2[5] = { 2, 3, 1, 5, 4};
因此需要互換的最小數目爲:3
在步驟:
交換1:A1 [0] < - > A1 [1]
交換2:A1 [1] < - > A1 [2]
交換3:A1 [ 3] < - > A1 [4]
所以,最後A1將包含{2,3,1,5,4}
這是一種homewo的RK? – Rabbid76
數字是從1到n的整數嗎? –
這是已知的算法:[Levenshtein距離](https://en.wikipedia.org/wiki/Levenshtein_distance)。雖然它更通用一些。我不知道你的限制是否可以改善,或者如果你的限制有更快的限制。 – bolov