異なる要素を持つ配列があれば、それをソートするために必要なスワップの最小数はいくらですか?配列をソートするためのスワップの最小数を確認する
たとえば、アレイ[4, 2, 1, 3]
は、少なくとも2回のスワップ(たとえば、4回と1回、次に4回と3回のスワップ)が必要です。
これは私のアプローチです:
B = sort(copy(A))
for i = 0 ... len(A) - 1
if A[i] != B[i]
find j such that A[j] == B[i]
swap(A[i], A[j])
は私のアプローチのcorrertですか?それを解決する別の方法がありますか?
見た目が乱雑ですが説明が明確でOPが十分に努力していました。 – johnchen902