values и число rank. Будем перебирать целые числа по возрастанию, начиная с values[0], и отмечать те, которых нет в values.
Верните rank-е по счёту такое пропущенное число (считая с единицы). Пропущенные числа могут быть и больше последнего элемента массива.
Линейный проход очевиден — попробуйте найти ответ за O(log n).values=[3, 6, 7, 11], rank=2 → 5
Начиная с 3, пропущены числа 4, 5, 8, 9, 10, … Второе из них — 5.
values=[3, 6, 7, 11], rank=4 → 9
В том же списке четвёртое пропущенное число — 9.
values=[2, 3, 4], rank=2 → 6
Внутри списка пропусков нет, дальше идут 5, 6, … — второе из них 6.
values строго возрастаетvalues=[3, 6, 7, 11], rank=2
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 113 тестов на сервере, включая скрытые.