Сегодня интервьюер задал мне этот вопрос. Мой немедленный ответ заключался в том, что мы могли просто выполнить линейный поиск, сравнивая текущий элемент с предыдущим элементом в массиве. Затем он спросил меня, как проблема может быть решена в менее чем линейное время.
Предположения
- Массив отсортирован
- Существует только один дубликат
- Массив только, заполненный цифрами
[0, n]
, гдеn
- длина массива.
Пример массива: [0,1,2,3,4,5,6,7,8,8,9]
Я попытался придумать алгоритм разделения и покорения, чтобы решить эту проблему, но я не уверен, что это правильный ответ. У кого-нибудь есть идеи?