मान लीजिए हमारे पास संख्याओं की एक सूची nums है। हमें यह जांचना है कि क्या nums में सभी तत्व अद्वितीय (unique) हैं या नहीं।
उदाहरण के लिए, यदि इनपुट nums = [2, 3, 6, 5, 1, 8] है, तो आउटपुट True होगा क्योंकि सभी तत्व अद्वितीय हैं।
समाधान दृष्टिकोण
हम एक सेट (set) का उपयोग करते हैं जो केवल अद्वितीय तत्वों को संग्रहीत करता है। यदि सेट का आकार मूल सूची के आकार के बराबर है, तो सभी तत्व विशिष्ट हैं।
एल्गोरिदम चरण:
n = len(l)- खाली सेट
sबनाएं - प्रत्येक तत्व
l[i]को सेट में जोड़ें - यदि
len(s) == len(l), तो True लौटाएं, अन्यथा False
पायथन कार्यान्वयन
def solve(l):
n = len(l)
s = set()
for i in range(n):
s.add(l[i])
return len(s) == len(l)
# सरल संस्करण
def solve_simple(l):
return len(set(l)) == len(l)
l = [2, 3, 6, 5, 1, 8]
print(solve(l)) # True
print(solve_simple(l)) # True
इनपुट
[2, 3, 6, 5, 1, 8]
आउटपुट
True
समय जटिलता:
O(n) - सेट में इंसर्शन और लुकअप औसत O(1) होता है।
स्थान जटिलता:
O(n) - सेट में सभी तत्व स्टोर हो सकते हैं।