题目链接:1067 Sort with Swap(0, i) (25 分) 题意 给定长度为 \(n\) 的排列,如果每次只能把某个数和第 \(0\) 个数交换,那么要使排列是升序的最少需要交换几次. 思路 贪心 由于是排列,所以排序后第 \(i\) 个位置上的数就是 \(i\).所以当 \(a[0] \neq 0\) 时,把 \(a[0]\) 位置上的元素交换到相应位置.如果 \(a[0] = 0\),就找到第一个不在正确位置上的数,把它与第 \(0\) 个数交换,那么下一次又是第一种情况了,…