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

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

Сообщение Anonymous »

Мне было интересно, знает ли кто-нибудь действительно эффективный способ получить все уникальные числа из отсортированного списка. Пример: если у меня есть список = [1,1,2,3,3,3,6,6,8,10,100,180,180], я хочу получить такой список [1,2,3,6,7,10,100,180]. Я ищу решение, которое было бы более эффективным, чем просмотр всего списка, и имело бы сложность выше O(n).
Моей первой идеей было проверять каждое второе число, но оно не сработало.
Вот мой код:
solution = []
i = 0
while i < values.size() - 2:
if values.get(i) == values.get(i + 2):
if values.get(i) not in solution:
solution.append(values.get(i))
else:
if values.get(i) not in solution:
solution.append(values.get(i))

if values.get(i + 1) != values.get(i + 2) \
and values.get(i) != values.get(i + 1):
solution.append(values.get(i + 1))
solution.append(values.get(i + 2))
i += 2

if values.get(values.size() - 1) not in solution:
solution.append(values.get(values.size() - 1))
return solution


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

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

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

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

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

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

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