Próbuję policzyć najdłuższy ciąg kolejnych rosnących elementów w losowo wygenerowanej tablicy MOODS. Ten kod zawsze zwraca jeden mniej niż jest prawidłowy.Policz rosnące elementy w tablicy
int maxDays = 0;
int days = 0;
for (int i = 0; i < MOODS.size() - 1; i++) {
if (MOODS.get(i + 1) > MOODS.get(i)) {
days += 1;
if(days>maxDays){
maxDays=days;
}
} else {
days = 0;
}
}
return maxDays;
}
myślę, że ignorować faktu, że kiedy MOODS.get (i + 1)> MOODS.get (i) po raz pierwszy, kiedy dni = 0, rosnąca kolejność strun ma długość dwóch . Napraw to i powinno działać. –
Och, człowieku, tyle czasu spędziłem waląc głową w ten błąd ... Dziękuję bardzo. – olwatshisface
Serdecznie zapraszamy :). Kod w odpowiedzi rozwiąże problem i obsłuży specjalny przypadek MOODS.size() = 0. –