TGViewer
💻 Coding interviews in a nutshell 💻 Coding interviews in a nutshell @coding_interviews · 7.34K subscribers
Post #198 3.62K

Forwarded from Ivan Finaev

Навеяно дебагом бинпоиска в сегодняшнем видео. Мне кажется, когда его пишешь, нужно на бумажке прописать инварианты:
* что такой успех?
* как этот успех связан с левыми и правыми границами в начале, до запуска цикла
* как условие на левую и правую границу сохраняется во время цикла

Кроме инвариантов ещё нужно вручную проверить поведение алгоритма, когда между левой и правой границей мало элементов — меньше трех четырех. После каждой итерации расстояние между итерациями должно уменьшаться. Я, чтобы быть уверенным, что это так, начиная с отрезка длиной четыре элемента и меньше, проверяю ветвления вручную, на бумажке.

В итоге у меня таким получилось решение этой задачи на плюсах (не претендую на скорость, я больше беспокоился о том, чтобы все прошло без ошибок с минимальным количеством тестовых запусков). Стрессы тесты не писал, но решение на литкоде проходит
https://gist.github.com/IvanFin/4578b9a4e8be6be0adcedac67696e39b
  • 👍 4
  • 👎 2
  • 👏 1
More from @coding_interviews
  1. Sep 25, 2026Александр в подкасте говорит любопытное: раньше как была устроена работа, ты даешь студент…
  2. Sep 25, 2026Я даже не знаю что здесь более удивительно, что Кнут говорит про современные модели или чт…
  3. Sep 25, 2026What a wonderful time to be alive
  4. Sep 24, 2026💰 Партнёрское объявление 💰 AI изменил привычный уклад работы, и пришло время перестраива…
  5. Sep 23, 2026Всем привет! 👋 Решил собрать из твитеров интриги сканадалы расследования о том как AI пер…
  6. Sep 17, 2026💰 Партнёрское объявление 💰 Ребята в Electi собрали опыт разработчиков из Meta и Google в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →