查找数组排序所需的最小交换次数的算法不正确

时间:2019-02-23 15:26:55

标签: python algorithm sorting swap

我使用此算法来查找所需的最小交换次数,但这不能为所有测试用例提供正确的结果。谁能帮助我找出在哪些情况下无法给出正确正确的结果以及原因。

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:])

0 个答案:

没有答案