我无法找出能找到两个整数数组之间差异的算法。 我已经有了一个排序方法,它会被运行,所以数字是按升序排列的。
例如:
SetX = {1,2,3,4,5}
SetY = {0,2,4,6}
返回值应该是SetX中未出现在SetY中的数字。
所以 resultSet = {1,3,5}
有时我会得到正确的答案,如果我做小数组,但如果我做4个或更多整数的数组,它会给我错误的回报。
有人可以查看我的代码并告诉我我做错了吗?
public static int firstFruit(int[] setX, int usedSizeSetX, int[] setY, int usedSizeSet2, int[] resultSet) {
int a = 0, b = 0, c = 0;
while( a < usedSizeSetX && b < usedSizeSetY){
if(setX[a] == setY[b]) {
a++;
} else if(setX[a] == setY[b]){
b++;
} else {
resultSet[c++] = setX[a++];
b++;
}
}
return c;
}
答案 0 :(得分:1)
我认为你的条件有点FUBAR。处理应该是: