Алгоритми та структури даних · Middle · Запитання 14 з 75

Чому в багатьох мовах радять mid = lo + Math.floor((hi - lo) / 2) замість (lo + hi) / 2?

Пояснення

У Java чи C++ із 32-бітними int lo + hi може перевищити максимум і стати від'ємним. Числа в JavaScript - double, тож для індексів масиву це не практична проблема, але звичку варто знати.

Де почитати

Помилка в запитанні

Алгоритми та структури даних · Middle · запитання 14

Перевірте себе

Пройдіть тест Алгоритми та структури даних · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест