O (n): лучше всего подходит метод Counter () (если ваши объекты хешируются):
def compare(s, t):
return Counter(s) == Counter(t)
O (n log n): лучше всего подходит метод sorted () (если ваши объекты упорядочиваются):
def compare(s, t):
return sorted(s) == sorted(t)
O (n * n) : Если объекты не являются ни хешируемыми, ни упорядочиваемыми, вы можете использовать равенство:
def compare(s, t):
t = list(t) # make a mutable copy
try:
for elem in s:
t.remove(elem)
except ValueError:
return False
return not t