Ahoj, pomohl by mi prosím někdo s porovnáváním dvou 2D polí? Mám program, který porovná prvky dvou 2D polí, jenže testprogram mi vyhodí chybu, protože vykonávání programu trvá moc dlouho, potřeboval bych ho nějak zjednodušit. Pro zjednodušení jsem zkoušel jsem metodu Arrays.deepEquels(), jenže ta mi vyhodí false, pokud rozměry matice nejsou stejné. pokud mám dvě pole o rozměrech třeba 2x2, tak funguje, ale třeba 2x3 a 3x2 už ne a to by mělo.
Zatím mám tento kód:
int x1 = sc.nextInt();
int y1 = sc.nextInt();
int[][] prvni = new int[x1][y1];
for (int i = 0; i < prvni.length; i++) {
for (int j = 0; j < prvni[0].length; j++) {
prvni[i][j] = sc.nextInt();
}
}
int x2 = sc.nextInt();
int y2 = sc.nextInt();
int[][] druha = new int[x2][y2];
for (int i = 0; i < druha.length; i++) {
for (int j = 0; j < druha[0].length; j++) {
druha[i][j] = sc.nextInt();
}
}
for (int i = 0; i < prvni.length; i++) {
for (int j = 0; j < prvni[0].length; j++) {
x = prvni[i][j];
for (int k = 0; k < druha.length; k++) {
for (int l = 0; l < druha[0].length; l++) {
if (druha[k][l] != x) {
y++;
}
}
}
}
}
if (y %2 == 0) {
System.out.println("1");
} else {
System.out.println("0");
}
nějaké nápady?