import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
// 创造原始数据
int[] arr = new int[500];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
//打印
System.out.println(Arrays.toString(arr));
// 查数
int count = 0;
// 记录一轮筛选掉多少个
int exitCount = 0;
while (true) {
// 遍历数组每三个剔除
for (int i = 0; i < arr.length; i++) {
count++;
if (count % 3 == 0) {
arr[i] = -1;
count = 0;
exitCount++;
}
}
// 一轮结束后把标记为-1的排除换个新数组
int[] tmp = new int[arr.length - exitCount];
exitCount = 0;
int index = 0;
//foreach循环
for (int i : arr) {
//判断是否是标记的
if (i != -1) {
tmp[index++] = i;
}
}
arr = tmp;
//打印
System.out.println(Arrays.toString(arr));
//判断是否剩最后一个
if (arr.length == 1) {
System.out.println(arr[0]);
break;
}
}
}
}
总结:数组真难用