gpt4 book ai didi

python - 计算插入排序算法中要排序的元素个数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:53 25 4
gpt4 key购买 nike

我认为标题是不言自明的。我正在尝试编写一个程序来计算使用插入排序对列表进行排序所需的交换次数。这就是我所做的:

counts = []
for _ in range(int(input())):
size = int(input())
ar = list(map(int, input().split()))
count = 0
for i in range(1, len(ar)):
for j in range(i, 0, -1):
if ar[j] > ar[i]: count +=1
counts.append(count)
print(*counts)

但问题是它不起作用。

对于列表 {1 1 1 2 2} 我得到 0 这是正确的但是,

对于列表 {2 1 3 1 2} 我得到 2 这是不正确的答案是 4

我能知道为什么它不起作用吗?谢谢。

最佳答案

这都是因为 for j in range(i, 0, -1):range 不包括右边界,因此您应该:

for j in range(i-1, -1, -1):

关于python - 计算插入排序算法中要排序的元素个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com