Diciamo che la nostra scheda Tetris è rappresentata come una matrice 2D di zero e uno, dove 0 significa vuoto e 1 significa occupato, e tu dove ti viene chiesto di trovare la riga più alta in cui esiste un tetromino.
Supponendo che non abbiamo tenuto traccia dell'altezza che è per ogni tetramino posto controlla se la sua riga è > tetromino posto in precedenza, in tal caso quindi altezza = riga.
Ovviamente il modo più inefficiente è quello di scorrere l'intero array 2D e forse fermarsi ogni volta che si incontra una riga intera di zeri. Un altro approccio che ho pensato è la ricerca binaria, in cui si inizia nella riga centrale e si verifica se è vuota, quindi il mio nuovo intervallo è limitato alle righe sottostanti, altrimenti la riga degli interessi si trova in alto.
- È un modo efficace per trovare l'altezza?
- Qual è un approccio migliore?