排书专题

排书 IDA*

原题链接 题目描述 给定 n 本书,编号为 1∼n。 在初始状态下,书是任意排列的。在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。我们的目标状态是把书按照== 1∼n 的顺序依次排列==。求最少需要多少次操作。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据包含两行,第一行为整数 n,表示书的数量。 第二行为 n 个整数,表示 1∼n 的一种任意排列

书架排书 逆序对

PayPal的一道笔试题,一个数组每一行代表书架上书的编号,每一行数组都有一个逆序对,想从逆序对小的开始排每一行的书,输入行数N,列数k, 以及N*k的数组;输出一个数组 比如输入 输出    计算数组逆序对的函数是剑指offer上的,写出来不难,关键是怎么按照逆序对的大小把对应数组的顺序变换过来 数组直接输出有一个简单方法 Arrays.deepToString(num); im