arrays - 找到按升序对数组进行排序所需的最小交换次数应该是什么更好的方法?
问题描述
我正在使用下面的算法来解决这个问题,但它在主要的测试用例中都失败了。请帮我找出我在哪里犯了错误。
def minimumSwaps(arr):
l=sorted(arr)
count=0
for num in l:
i=arr.index(num)
j=l.index(num)
if(i!=j):
count+=1
arr[i],arr[j]=arr[j],arr[i]
print(arr)
else:
continue
return(count)
解决方案
推荐阅读
- sql - oracle如何连接两个表
- android - Android Studio 4.0 无法解析 gradle 依赖
- node.js - 如何在没有 $unwind 的情况下加入三个集合并根据条件获取嵌套结果?
- django - 鹡鸰 collectstatic 失败
- javascript - jQuery 启用 Tab 键输入
- opentracing - 是否可以推断父跨度?
- java - 将金额拆分为传递的输入
- android - 水平链中的两个视图,当一个是 View.GONE 时,另一个应该在 parent 中居中
- javascript - 无法使用 TypeORM 和 NodeJS 将 JSON 数据插入 Postgres
- python - Django 测试数据库模式缺少实时数据库中存在的列