梧桐下的四叶草 2015-01-16 03:31 采纳率: 33.3%
浏览 1657
已采纳

oj 题聪明的员工怎么做?

题目描述
小新是一家公司的员工,每个员工都有一个编号。每天上班时,老板都让员工排成一个队伍。但是,每次老板都对队伍的顺序不满意,于是老板重新编排新的队伍顺序,然后让员工按顺序排好。老板有特别要求,队伍每次只能将其中一个人移动到队头。聪明的小新很快想到最少移动次数使得队伍的顺序跟老板指定的顺序一样。愚蠢的老板不清楚小新是怎么做到的,聪明的你编写程序告诉ta。

输入
第一行是T(T<=10),代表数据的组数。
对于每组数据,第1行是一个整数n(2<=n<=30),代表员工的数量。第2行有n个数,代表员工一开始的队伍顺序的编号。第3行有n个数,代表老板要求的队伍顺序的编号。员工的编号为s(1<=s<=n),且不会重复。

输出
输出最少的移动次数。

样例输入
2
4
2 1 3 4
1 2 3 4
3
2 1 3
3 1 2
样例输出
1
2

  • 写回答

6条回答 默认 最新

  • 业余草 科技数码领域优质创作者 2015-01-16 04:31
    关注

    书本上都有的选择排序。

     public class ChoiceSort {
    
        public static void _choiceSort(Integer[] a) {
            if (a == null || a.length <= 0) {
                return;
            }
            for (int i = 0; i < a.length; i++) {
                int min = i; /* 将当前下标定义为最小值下标 */
    
                for (int j = i + 1; j < a.length; j++) {
                    if (a[min] > a[j]) { /* 如果有小于当前最小值的关键字 */
                        min = j; /* 将此关键字的下标赋值给min */
                    }
                }
                if (i != min) {/* 若min不等于i,说明找到最小值,交换 */
                    int tmp = a[min];
                    a[min] = a[i];
                    a[i] = tmp;
                }
            }
        }
    }
    
    
     public static void main(String[] args) {
            // TODO Auto-generated method stub
             Integer[] list={49,38,65,97,76,13,27,14,10};
             //快速排序
            /* QuicSort qs=new QuicSort();
             qs.quick(list);*/
             //冒泡排序
            /* BubbleSort bs=new BubbleSort();
             bs.bubble(list);*/
             //选择排序
             ChoiceSort._choiceSort(list);
    
             for(int i=0;i<list.length;i++){
                 System.out.print(list[i]+" ");
             }
             System.out.println();
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler