需要帮助使代码运行更快。快很多。 (Hackerrank挑战-最低掉期2)

时间:2019-11-28 15:16:55

标签: python python-3.x performance

我目前正在经历我能找到的所有Hackerrank挑战,而我最近遇到的主要问题之一是由于超时,因为使用大量信息时我编写的代码往往非常慢。在此示例中,我需要计算要在数组中进行排序的最少数量的开关。请记住,其中没有重复的数字。这是我当前的代码:

def minimumSwaps(arr):
    count = 0
    while arr != [(x+1) for x in range(len(arr))]:
        for i in arr:
            if i != arr.index(i)+1:
                a = i
                b = arr[i-1]
                arr[i-1] = a
                arr[arr.index(i)] = b
                count += 1
                break
    return count
if __name__ == '__main__':
    n = int(input())
    arr = list(map(int, input().rstrip().split()))
    res = minimumSwaps(arr)
    print(str(res))

任何有关如何使其更快的建议将不胜感激。预先感谢!

0 个答案:

没有答案