在《啊哈算法》中看到一道简单的题目,用另一个方法实现
题目:
新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ 号,小哈当然不会直接告诉小哼啦,原因嘛你懂的。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1 个数删除,紧接着将第2 个数放到这串数的末尾,再将第3 个数删除并将第4 个数放到这串数的末尾,再将第5 个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一起就是小哈的QQ 啦。现在你来帮帮小哼吧。小哈给小哼加密过的一串数是“6 3 1 7 5 8 9 2 4”。
做法:
public class ArrangementText {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Arrangement example = new Arrangement();
int[] tem = { 6, 3, 1, 7, 5, 8, 9, 2, 4 };
int[] s = example.arrangement(tem);
// 打印数组
for (int a : s)
System.out.print(a);
}
}
public class Arrangement {
public int[] arrangement(int[] tem) {
// 定义两根指针(不是C语言的指针),排好序的数在head之前,待操作数