Guarda che il codice che hai postato è sbagliato. Gli ho passato due matrici a caso, e i valori di maxLen che tira fuori non sono esatti. Ora non ho tempo di controllare bene il codice, cmq ecco un capture di quello che fa su due matrici, la prima era 3X7 e la seconda 5X2. Il tuo codice, quasi identico a quello che avevo ideato io in un primo momento, purtroppo funziona solo se la differenza tra nRighe e nColonne è 1 o 0. Se è maggiore, perdo qualcosa.
Infatti, non vorrei sbagliare, data l'ora e la stanchezza, ma:
se controllo le diagonali finché m < nRighe & n<nColonne, succede che controllo solo una parte delle diagonali.
Del resto, se non faccio questo controllo, sicuramente vado fuori indice. Comincio a rassegnarmi all'idea di dover fare una miriade di cicli diversi, anche distinguendo i casi nRighe > nColonne oppure viceversa...
---------- Esecuzione Applicazione ----------
riga: 0 colonna: 0
riga + 1: 1 colonna + 1: 1
riga: 0 colonna: 1
riga + 1: 1 colonna + 1: 2
riga: 0 colonna: 2
riga + 1: 1 colonna + 1: 3
riga: 0 colonna: 3
riga + 1: 1 colonna + 1: 4
riga: 0 colonna: 4
riga + 1: 1 colonna + 1: 5
riga: 0 colonna: 5
riga + 1: 1 colonna + 1: 6
riga: 1 colonna: 0
riga + 1: 2 colonna + 1: 1
riga: 1 colonna: 1
riga + 1: 2 colonna + 1: 2
riga: 1 colonna: 2
riga + 1: 2 colonna + 1: 3
riga: 1 colonna: 3
riga + 1: 2 colonna + 1: 4
riga: 1 colonna: 4
riga + 1: 2 colonna + 1: 5
riga: 1 colonna: 5
riga + 1: 2 colonna + 1: 6
Seconda Matrice
riga: 0 colonna: 0
riga + 1: 1 colonna + 1: 1
riga: 1 colonna: 0
riga + 1: 2 colonna + 1: 1
riga: 2 colonna: 0
riga + 1: 3 colonna + 1: 1
riga: 3 colonna: 0
riga + 1: 4 colonna + 1: 1
Max occorrenze di ogg2: 3