給定一個具有不同元素的數組,排序所需的最小交換次數是多少?查找排序數組的最小交換次數
例如,數組[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