import java.util.Arrays;
import java.util.Random;
/*
* 在数组下标0~99替换一个数(0~99),再找出此数
* */
class 找出重复元素利用数组下标 {
public static void main(String[] args) {
int[] arr = new int[100];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
System.out.println(Arrays.toString(arr));
// 随机替换一个数
Random r = new Random();
int x = r.nextInt(100);
int y = r.nextInt(100);
arr[x] = y;// 将随机下标的元素替换为一个随机数
System.out.println(Arrays.toString(arr));
System.out.println("重复值:" + y);
// 打乱数组
for (int i = 0; i < 10000; i++) {
int a = r.nextInt(100);
int b = r.nextInt(100);
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
// 找出重复数字
// 方法一:
flag: for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
System.out.println("重复数字:" + arr[i]);
break flag;
}
}
}
// 方法二:利用数组下标计数
int[] arr2 = new int[100];
for (int i = 0; i < arr.length; i++) {
arr2[arr[i]]++;
}
for (int i = 0; i < arr2.length; i++) {
if (arr2[i] == 2) {
System.out.println("重复数字:" + i);
break;
}
}
}
}
在数组下标0~99替换一个数(0~99),再找出此数
最新推荐文章于 2024-01-15 22:13:33 发布
该博客展示了如何在Java中使用数组和随机数生成器替换数组中的一个元素,然后通过两种方法找出这个重复的数字。首先通过暴力遍历找到重复项,其次利用数组下标计数的方式实现。这是一个关于数组操作和算法实践的示例。
2529

被折叠的 条评论
为什么被折叠?



