- (, , __hash__), .
def check_all_unique(li):
unique = set()
for i in li:
if i in unique: return False
unique.add(i)
return True
O (n) . ( , , len(li) == len(set(li)), , )
( - ), :
def check_all_unique(li):
li.sort()
for i in range(1,len(li)):
if li[i-1] == li[i]: return False
return True
O (nlogn), . , . , . ( - __cmp__ , , 1. wut 2. , .)
ne - , .
import operator
import itertools
li =
if all(operator.ne(*i) for i in itertools.combinations(li,2)):
itertools.combinations, , operator.ne . O (n ^ 2), ( all ). , ne eq , operator.eq any.
: Vincent itertools,
import itertools
lst =
if all(a!=b for a,b in itertools.combinations(lst,2)):
2: Uh, , , , heapq. O (nlogn) , O (n) . -
import heapq
def check_all_unique(li):
heapq.heapify(li)
prev = heapq.heappop(li)
for _ in range(len(li)):
current = heapq.heappop(li)
if current == prev: return False
prev = current
return True