Как я могу эффективно определить, содержит ли массив дубликаты на определенном расстоянии, используя Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу эффективно определить, содержит ли массив дубликаты на определенном расстоянии, используя Python?

Сообщение Anonymous »

Я работаю над проблемой Python, где мне нужно проверить, содержит ли несортированный массив дубликаты на указанном расстоянии k. В частности, мне нужно вернуть True, если какое-либо значение появляется более одного раза в пределах k индексов, в противном случае верните False.
Например, если задан массив [1, 2, 3, 1] и k = 3, ожидаемый результат будет истинным, поскольку элемент 1 снова появляется в диапазоне 3-х индексов. Если бы k было равно 2, ожидаемый результат был бы False.
Я знаю, что есть несколько способов решить эту проблему, но мне нужно эффективное решение.
Как я могу решить эту проблему, используя скользящее окно или другой оптимальный подход?
Ограничения:
Массив может содержать до 10^5 элементов.
k всегда меньше длины массива.
Любые советы или решения буду очень признателен!
Я ожидал, что подход скользящего окна позволит эффективно идентифицировать дубликаты на указанном расстоянии с временной сложностью
𝑂
(
𝑛
)
O(n), где
𝑛
n — размер массива. Набор будет отслеживать текущие элементы окна, и дубликаты будут обнаруживаться в пределах разрешенного диапазона.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ecific-dis
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»