一、第一种实现:
实现比较简单,直接贴现成的代码了,第一种实现:
/*** 总人数
*
*@paramd*/
private static void sortQuerry1(intd) {//TODO 先构造一个数组
ArrayList arr = new ArrayList<>();for (int i = 1; i <= d; i++) {
arr.add(i);
}int xiabiao = -1;int count = 0;//循环查找
int mun = 10;while (arr.size() > 1) {
xiabiao++;
count++;if (count == 3) {
System.out.println("移除的是" +arr.get(xiabiao));
arr.remove(xiabiao);
count= 0;
xiabiao= xiabiao - 1;
}if (xiabiao == (arr.size() - 1)) {
xiabiao= -1;
}if (arr.size() == 1) {
System.out.println("最后一个剩余的人是:" + arr.get(0));break;
}
}
}
二、优化和改进
思考1分钟