Java 尝试返回两个数组之间的差异数
如果我有两个数组Java 尝试返回两个数组之间的差异数,java,arrays,Java,Arrays,如果我有两个数组 int [] array1 = {1, 2, 3, 4} int [] array2 = {1, 3, 2, 4} 这将返回2,因为到目前为止,数组中有两个不同之处,我有这个,但我无法找出它 public static int countDifferences(int[] array1, int[] array2){ int differences = 0; for(int i=0; i<array1.length; i++) {
int [] array1 = {1, 2, 3, 4}
int [] array2 = {1, 3, 2, 4}
这将返回2,因为到目前为止,数组中有两个不同之处,我有这个,但我无法找出它
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;
}
公共静态int countDifferences(int[]array1,int[]array2){
整数差=0;
对于(int i=0;i您应该只使用一个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;
}
公共静态int countDifferences(int[]array1,int[]array2){
if(array1==null | | array2==null | | array1.length!=array2.length){
返回-1;
}
整数差=0;
for(int i=0;i
您应该只使用一个循环在两个数组上迭代一次。您还需要处理两个输入数组长度不相同的情况。此外,一个或两个数组可能为空。对于这些边缘情况,我返回-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;
}
公共静态int countDifferences(int[]array1,int[]array2){
if(array1==null | | array2==null | | array1.length!=array2.length){
返回-1;
}
整数差=0;
for(int i=0;i
这是一个逻辑问题
例如,由于两个位置的开关实际上是一个开关,所以要对相同的差异进行两次计数。因此,请检查该条件并将其计数为一。这是一个逻辑问题
例如,由于两个位置的开关实际上是一个开关,所以要对相同的差异进行两次计数。因此,请检查该条件并将其计数为一。是否要检查array1和array2的n索引是否具有相同的值?是否要检查array1和array2的n索引是否具有相同的值?数组有两个但是,它返回了4。我对此表示怀疑。你确定你使用的是我的实际代码吗?很抱歉,我之前运行了一个反向数组方法,但现在它可以工作了。谢谢你。你应该先检查array1!=null | | array2!=null
。数组有两个不同之处,但是,它返回了4。我对此表示怀疑。你确定你使用的是我的实际值吗l代码?很抱歉,我之前运行了一个反向数组方法,但现在它工作了。谢谢。您应该先检查array1!=null | | array2!=null
。