我無法找出能找出兩個整數數組之間差異的算法。 我已經有了一個排序方法,它將會通過所以數字按升序排列。查找兩個int數組之間的差異
例如:
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;
}
你可以舉一些例子輸入,它給出了錯誤的答案? – BretC
你的前兩次檢查完全一樣。你永遠不會進入第二個條件... – jgitter
[這裏](https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html)有一個所有的列表類** Array **提供的方法。對於一個數組中的每個元素,您可以使用binsearch來查找它是否出現在另一個數組中。 –