Očigledno da sam sinoć bio i suviše umoran.
Jutros sam shvatio, a bilo je tako jednostavno. Još ne mogu da verujem da nisam odmah uočio.
Znam da removeAt briše element iz niza i skraćuje dužinu niza za jedan.
Ono što mi je promaklo je zašto ja moram da smanjim poziciju unutar niza za jedan.
Ako imam niz u kome se element koji izbacujem pojavljuje više puta uzastopno
1, 2, 2, 3, 4, 8, 7, 9, 3, 5
Kao ovde 2 onda će se unutar petlje proveravati redom prvi, drugi, treći element.
Kad proverim list[1] vrednost je dva, odnosno taj element se briše, a dužina niza se smanjuje za jedan. list[3] postaje novi list[2].
E tu je i bio problem jer brojač sad nastavlja da proverava list[3], a stari list[3] je već postao list[2].
U svakom slučaju hvala na odgovoru.
|