Я использовал этот алгоритм, чтобы найти минимальное необходимое количество перестановок, но это не дает правильного результата для всех тестовых случаев.Может ли кто-нибудь помочь мне выяснить, в каких случаях это не дает правильного правильного результата и почему.
def minimumSwaps(arr):
if len(arr) == 1 or len(arr) == 0:
return 0
e = min(arr)
if e == arr[0]:
return 0 + minimumSwaps(arr[1:])
else:
k = arr.index(e)
arr[0], arr[k] = e, arr[0] # or use swap(arr, 0, k)
return 1 + minimumSwaps(arr[1:])