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