У меня есть два списка (['a', 's', 'f', 'f', 's'], ['f', 'f', 'a', 's'])
. Требуемый выход: ['a','s','f','f']
. Результат должен дать пересечение двух списков. Расположение символов в выходном списке соответствует порядку появления в первом списке ['a', 's', 'f', 'f', 's']
.Пересечение двух списков в N раз
Как это реализовать в python? Я уже делал это в N ** 2 раза. Возможно ли это сделать в N раз?
Мое текущее решение:
def com(string1, string2): string2_list=list(string2) store="" for check in string1: for i,v in enumerate(string2_list): if v==check: store=store+check del(string2_list[i]) return store
Так что это ваше текущее решение? –
Поскольку обман не связан с 'O (N)', это, кажется, является решающей частью этого вопроса – wim
Я не думаю, что вы можете пойти ниже O (NlogN) честно .. Мы увидим ответы – BlackBear