我想要一個布爾方法需要兩個數組並返回true當第一個數組中的所有數字都在第二個數組中時。如果至少有一個號碼不匹配,則返回false。有沒有更好的方法來編寫這種方法?
這是我的代碼,但有些東西是關閉的。
public static boolean noMoreRolls(int[] paramArrayOfInt1, int[] paramArrayOfInt2) {
boolean test[] = new boolean[paramArrayOfInt1.length];
int total = 0;
boolean end = false;
for (int i = 0; i < paramArrayOfInt1.length; i++) {
for (int j = 0; j < paramArrayOfInt2.length; j++) {
if (paramArrayOfInt1[i] == paramArrayOfInt2[j])
test[i] = true;
}
if (test[i] == true)
total++;
}
if (total == test.length) {
end = true;
}
return end;
}
在此先感謝。
編輯:抱歉誤導和錯誤的方式把事情放下。 2個陣列的長度不一樣。 一個理解我的代碼的例子:數組1:[6,6,1,2,3,] /數組2:[2,3],它應該返回虛假。 Array 1:[2]/Array 2:[5,5,4,4,2],它應該返回true。
' 「這是我的代碼,但東西了。」「 - 嗯,什麼......究竟* *是關?請給我們一些關於你在尋找什麼的指示,你是什麼意思「更好的方式」。 –
更適合codereview。在SO中,你不應該對「某些東西不在」做出模糊的陳述 –
你在這裏進行n ** 2比較,我會親自調查一下hashmaps。否則 - 就像其他評論者一樣 - 這個問題並不適用於SO。 –