Algorytmy i struktury danych · Middle · Pytanie 14 z 75

Dlaczego w wielu językach zaleca się mid = lo + Math.floor((hi - lo) / 2) zamiast (lo + hi) / 2?

Wyjaśnienie

W Javie czy C++ z 32-bitowymi int lo + hi może przekroczyć maksimum i stać się ujemne. Liczby w JavaScripcie to double, więc dla indeksów tablicy to nie jest praktyczny problem, ale warto znać ten nawyk.

Do poczytania

Błąd w pytaniu

Algorytmy i struktury danych · Middle · pytanie 14

Sprawdź się

Rozwiąż test Algorytmy i struktury danych · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test