Te lo scrivo in pseudo-codice, così traducendo il codice te lo studi con attenzione e capisci l'esericizio:
ipotizzo che M sia la matrice/array bidimensionale preso in input e che la variabile rows indichi il numero di righe all'interno di essa:
In java le matrici in sostanza possono essere rappresentate come array di array, quindi la logica dell'algoritmo non cambia.codice:current[] = null; temp[] = null; i = 0; for each (i < rows - 1) begin current = M[i]; j = i + 1; for each (j < rows) begin temp = M[j] equals = true; k = 0; for each k < current.length begin if( current[k] != temp[k] ) begin equals = false; break; end k = k + 1; end if( equals ) return true; j = j + 1; end i = i + 1; end return false;

Rispondi quotando