摘要: 题意:给定一个长度为N的数组,全部由{1,2, 3}组成,求将其排列成不降序列的最少移动次数分析:求出每个1,2,3 各自 是数量,count[1],count[2],count[3]; 这样也就知道了排列后各个元素所属的区域;接下来,我们先需要考虑1 和2 俩块区域;交换一次,能够回到自己所属的区域,应该就是最好的交换了,这样我们就优先考虑交换之后俩俩可以回到自己位置的交换for (int i=1;i<=count[1]+count[2];i++){ if (t[i]==3) a[3]++; else if (t[i]==2&&i<=count[1]) a[1]+ 阅读全文
posted @ 2011-10-23 02:31 枕边梦 阅读(196) 评论(0) 推荐(0) 编辑