मान लीजिए हमारे पास एक ऐरे है। हमें जांचना है कि क्या प्रत्येक एलिमेंट की ऑकरेंसेस की संख्या यूनिक है। यदि ऐसा कोई एलिमेंट मौजूद नहीं है तो false लौटाएं, अन्यथा true। इसलिए यदि ऐरे [1, 1, 2, 2, 2, 3, 4, 4, 4, 4] की तरह है, तो यह true लौटाएगा क्योंकि एलिमेंट 1 दो बार मौजूद है, 2 तीन बार मौजूद है, 3 एक बार मौजूद है और 4 चार बार मौजूद है।
समाधान के चरण
- हम ऐरे के एलिमेंट्स की फ्रीक्वेंसी ढूंढेंगे
- फ्रीक्वेंसी मैप में प्रत्येक key-value pair के लिए
- यदि value किसी अन्य मैप mp में मौजूद है, तो false लौटाएं
- mp[value] := 1 रखें
- true लौटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def uniqueOccurrences(self, arr):
d = {}
for i in arr:
if i not in d:
d[i] = 1
else:
d[i] += 1
l = {}
for x, y in d.items():
if y in l:
return False
l[y] = 1
return True
ob1 = Solution()
print(ob1.uniqueOccurrences([1,1,2,2,2,3,4,4,4,4]))
इनपुट
[1,1,2,2,2,3,4,4,4,4]
आउटपुट
true