#2571. 三数排序
三数排序
题目描述
给定 个整数 ,每个数字都是 0,1,2 中的一个,请将其中的一部分数字两两交换,使得结果是升序的,请问最少需要几次交换?
输入格式
第一行:单个整数表示 第二行: 个整数表示
输出格式
单个整数:表示最少交换次数。
5
2 0 1 2 0
1
提示
对于样例1:将第一个 与最后一个 交换即可
对于 的数据,;
对于 的数据,;
对于 的数据,,;
相关
在以下作业中:
给定 n 个整数 a1,a2,…,an,每个数字都是 0,1,2 中的一个,请将其中的一部分数字两两交换,使得结果是升序的,请问最少需要几次交换?
第一行:单个整数表示 n 第二行:n 个整数表示 a1,a2,…,an
单个整数:表示最少交换次数。
5
2 0 1 2 0
1
对于样例1:将第一个 2 与最后一个 0 交换即可
对于 30% 的数据,1≤n≤5,000;
对于 60% 的数据,1≤n≤100,000;
对于 100% 的数据,1≤n≤1,000,000,0≤ai≤2;