私は初心者のコーダーで、配列を学習しています。私は最近2次元配列を学びました.2次元配列に複製があるかどうか調べようとしています。私は、同じ列または行に重複があるかどうかをチェックする方法を知っていますが、それを比較しようとしている番号と同じ列または行にない場合は、数値を比較する方法を理解できません。ここに私のコードは今のところです:2次元配列全体の重複をチェックする方法は?
public static boolean correctNumbers(int[][] values) {
for (int i = 0; i < values.length; i++) {
for (int j = 0; j < values[i].length; j++) {
int num = values[i][j];
for (int k = j + 1; k < values.length; k++) {
if (num == values[i][k] || num > values.length * values.length || num < 1) {
return false;
}
}
for (int l = i + 1; l < values.length; l++) {
if (num == values[l][j] || num > values.length * values.length || num < 1) {
return false;
}
}
}
}
return true;
}
私はメソッドを作成する必要があり、私はそれを作成する際に他の方法を使用することはできません。 助けてくれてありがとう!
編集:配列に重複がある場合、配列の数値が1より小さい場合、または配列の要素の総数より多い場合はfalseを返します。言い換えれば、このメソッドは、配列内の1から(i * j)までのすべての値が配列に含まれているかどうかをチェックします。私はその部分を説明するのが悪いことを実感しました。再度、感謝します!
@KaustubhKhare真、それはDUPだということを、しかし、がありますいいえいいえ答えそこにそこからリンクされているdupにも – alfasin
はい、しかし、リンクされた質問で私は本当にトップの答えで起こっているか分からない。 – WizKid22
あなたの編集によると、2次元配列には1 ... n^2の値がすべて重複していないように見えます(各数字は正確に1回表示されるはずです)。今は別の問題です。別の配列をアクセサリとして使用できますか? – alfasin