gpt4 book ai didi

java - 尝试返回两个数组之间的差异数

转载 作者:行者123 更新时间:2023-12-02 03:16:23 24 4
gpt4 key购买 nike

如果我有两个数组

int [] array1 = {1, 2, 3, 4}
int [] array2 = {1, 3, 2, 4}

这将返回两个,因为到目前为止,数组中有两个差异,我有这个,但我无法弄清楚。

    public static int countDifferences(int[] array1, int[] array2){
int differences = 0;
for(int i=0; i<array1.length; i++) {
for(int j=0; j<array2.length; j++) {
if(array1[i]==array2[j]) {
return 0;
}
else{
differences++;
}
}
}
return differences;
}

最佳答案

您应该只使用一个 for 循环来对两个数组进行一次迭代。您还需要处理两个输入数组长度不同的情况。此外,一个或两个数组都可以为空。对于这些边缘情况,我返回 -1,但您可以根据需要进行修改。

public static int countDifferences(int[] array1, int[] array2) {
if (array1 == null || array2 == null || array1.length != array2.length) {
return -1;
}
int differences = 0;

for (int i=0; i < array1.length; i++) {
if (array1[i] != array2[i]) {
differences++;
}
}

return differences;
}

关于java - 尝试返回两个数组之间的差异数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40229404/

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