Потому что нигде не сказано, что бинарный поиск выдаст первый индекс. 8ой элемент тоже равен 5, так что бинарный поиск нашел искомую 5
for arr[middle] == arr[middle-1] { middle -= 1 } добавил вот это условие и всё решилось, спасибо
Обсуждают сегодня