← 返回题库
初级

Sort with Swap

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(nums):
    nums = list(map(int, nums.split(',')))
    n = len(nums)
    pos = [0] * n
    for i, num in enumerate(nums):
        pos[num] = i
    swaps = 0
    for i in range(n):
        if nums[i] != i:
            temp = nums[i]
            nums[i], nums[pos[i]] = nums[pos[i]], nums[i]
            pos[temp] = pos[i]
            swaps += 1
    print(swaps)

示例

输入
solve('0,2,1,3')
期望输出
1
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码