【发布时间】:2019-11-18 01:22:25
【问题描述】:
我有两个数组
int arr1 [] = {4, 6, 2, 6, 4, 8, 12, 14, 18, 4, 38};
int arr2 [] = {4, 2, 8, 6, 18, 12};
arr1 包含 arr1 的每个值,有时是多个值。
arr2 每个值只包含一次。
arr1 中元素的顺序应该与arr2 中元素的顺序相同。
在 arr1 中但不在 arr2 中的元素应该以相同的顺序附加到末尾。
这就是他们最终的样子:
new arr1[] = {4, 4, 4, 2, 8, 6, 6, 18, 12, 14, 38};
这是我尝试过的:
int [] temp = new int [arr1.length];
for (int i = 0; i<arr.length; i++){
if (arr2[i] == arr1[i]){
temp[arr2[i]] == arr1[i];
}
}
for (int k = 0; k<arr1.length; k++){
arr1[k] == temp[k];
arr2[k] == k;
}
【问题讨论】:
-
如果这是我的问题,我会尝试用铅笔和纸制定一个算法,然后将其提交给代码。您需要嵌套循环以确保...解决它,并且您会想出一些东西,即使它没有带来解决方案,至少可以让您改进问题。
-
实际上,使用 Comparator 调用
Arrays.sort(...)并使用第二个数组来决定 compare 方法的返回值在这里也可以正常工作 -
arr1中元素的顺序应该和arr2中元素的顺序一致。
int arr1 [] = {4, 6, 2, 6...int arr2 [] = {4, 2, 8, 6...他们不按顺序?跨度> -
@HovercraftFullOfEels 我将如何使用这样的比较器?