2 つの整数配列の違いを見つけるアルゴリズムがわかりません。番号が昇順になるように、実行される並べ替え方法が既にあります。
例えば:
SetX = { 1, 2, 3, 4, 5 }
SetY = { 0, 2, 4, 6 }
戻り値は、SetY に表示されない SetX の数値である必要があります。
したがって、結果セット = { 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;
}