Как найти последовательность уникальных целых чисел из массива с помощью динамического программирования c - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть массив

arr = [2,1,3,1,4,1,3]

Мне нужно найти и удалить последовательность так, чтобы остались только уникальные элементы в массиве.

output

предположим, что мы нашли подпоследовательность [1,1,3] и после удаления 1,1,3 массив будет выглядеть следующим образом [ 2,4,1,3]

теперь этот массив стал уникальным.

Я думаю о каком-то решении, использующем динамическое c программирование, но я не могу придумать какое-то хорошее решение , Может ли кто-нибудь помочь мне с некоторым намеком?

1 Ответ

1 голос
/ 14 апреля 2020

Вам не нужно динамическое c программирование.

В простейшем случае для каждого элемента найдите первый экземпляр в массиве и удалите элемент, если индекс отличается. Quadrati c алгоритм.

Если у вас есть память, создайте карту ha sh, поместите элементы, если они новые, и удалите в противном случае (линейный подход, если мы не рассматриваем удаление)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...