最少交换以获得排序数组

时间:2019-07-17 20:39:45

标签: python-3.x

我正在尝试解决最小交换的hackerrank问题。我的回答有误,无法找出错误。

为您提供了一个无序数组,该数组由连续的整数组成,没有重复。您可以交换任意两个元素。您需要找到按升序对数组进行排序所需的最小交换次数。

def minimumSwaps(arr):#arr is the given input
    swaps = 0
    mod_arr = [i-1 for i in arr]
    for i,X in enumerate(mod_arr):
        if(i==X):
            continue
        else:
            mod_arr[i],mod_arr[mod_arr.index(i)] = mod_arr[mod_arr.index(i)],mod_arr[i]
            swaps+=1
    return swaps

0 个答案:

没有答案