Я хочу обнаружить дубликаты в заданном массиве с использованием подхода divide и conquer. Могу ли я использовать Merge Sort для этого:Обнаружение дубликатов с использованием Divide и Conquer - Merge Sort
Первый раскол массив в журнале N шагов
Затем сортировать путем слияния
При объединении использовать переменную счетчика для обнаружения дубликатов. O (N)
Таким образом, в общей сложности потребуется O (N журнал N) шаги ...
Является ли это правильный подход?
Я думаю, что ваш подход правильный, если вы хотите, чтобы вы разделили и победили только для поиска дубликатов. В противном случае, как указано в ответах, используйте divide и conquer для сортировки, а затем найдите дубликаты в O (N). Итак, общее время будет O (NlogN) – abhinav
@abhinav Как это будет O (NlogN)? Давайте возьмем - вы выполняете сортировку слиянием в O (NlogN), а затем выполняете другую сортировку в O (N) .. так что общее время будет O (NlogN) + другое O (N) для итерации? – sundar
Разве это не означает O (NLogN)? – abhinav