Код Senior Бинарный поиск обновлено
Целочисленный корень
Условие
Целая часть квадратного корня неотрицательного числа, без Math.sqrt.
Примеры
intSqrt(8) // 2
intSqrt(16) // 4
intSqrt(0) // 0
Как подойти
Шаблон правой границы - зеркало левой, и у него своя ловушка: при lo = mid середину надо брать с округлением вверх, иначе на паре соседних значений lo никогда не сдвинется. Полезно уметь написать оба шаблона, а не только левый.
Подсказки: 2
- Это поиск последнего значения, квадрат которого не превышает x.
- Для правой границы середину надо округлять вверх, иначе цикл зациклится.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.