gpt4 book ai didi

java - 交换两个数组的值,创建另一个不重复的数组并从最高到最低排序

转载 作者:行者123 更新时间:2023-11-30 05:32:51 29 4
gpt4 key购买 nike

我知道我必须用 while 或 do while 循环来完成它,但我无法让它工作。我也尝试过使用 for 循环,但它总是给我一个错误,因为我不知道 vector 的确切长度,因为它们是随机的。

int a = (int)(Math.random() * 3 + 1);
int b = (int)(Math.random() * 3 + 1);
int c = a + b;
int[] arrA = new int[a];
int[] arrB = new int[b];
int[] arrC = new int[c];
for (int i = 0; i < a; i ++) {
arrA[i] = (int)(Math.random() * 10 + 1);
for (int j = 0; j < b; j ++) {
arrB[j] = (int)(Math.random() * 10 + 1);
}
}

Arrays.sort(arrA);
Arrays.sort(arrB);
System.out.println(Arrays.toString(arrA));
System.out.println(Arrays.toString(arrB));
System.out.println(Arrays.toString(arrC));

最佳答案

从数组arrAarrB中获取值,并插入到arrC

int index = arrA.length;
for (int i = 0; i < arrA.length; i++) {
arrC[i] = arrA[i];
}
for (int i = 0; i < arrB.length; i++) {
arrC[i + index] = arrB[i];
}

排序arrC

Arrays.sort(arrC);

反转顺序并存储在arrD

for(int l = 0; l < arrC.length; l++) {
arrD[l] = arrC[arrC.length - (l+1)];
}

删除重复项(简化)

Set<Integer> remove=new LinkedHashSet<Integer>();
for(int i = 0;i < arrD.length;i++){
remove.add(arrD[i]);
}
<小时/>

删除重复项(通常)

int index2 = 0;
for (int i = 0; i < arrD.length; i++) {
for (int k = 0; k < arrD.length; k++) {
if (arrD[i] != arrD[k]) {
arrE[index2] = arrD[i];
index2++;
}
}
}

关于java - 交换两个数组的值,创建另一个不重复的数组并从最高到最低排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57196268/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com