দেওয়া একটি সংখ্যা লিস্ট (nums) এ প্রতিটি ভ্যালু কতবার আসছে তা গণনা করে, সব কাউন্ট ইউনিক কিনা (অর্থাৎ কোনো দুটি ভ্যালুর ফ্রিকোয়েন্সি একই নয়) তা যাচাই করতে হবে।
উদাহরণ: [6, 4, 2, 9, 4, 2, 2, 9, 9, 9] → ৬:১বার, ৪:২বার, ২:৩বার, ৯:৪বার → সব কাউন্ট ইউনিক → True।
সমাধান: Counter + Set
Counterদিয়ে ফ্রিকোয়েন্সি ম্যাপ বানান।- সব কাউন্টের লিস্ট নিন।
- লিস্টের দৈর্ঘ্য এবং সেটের দৈর্ঘ্য সমান কিনা চেক করুন। সমান হলে সব ইউনিক।
পাইথন কোড
from collections import Counter
class Solution:
def solve(self, nums):
num_counts = dict(Counter(nums))
occurrences = num_counts.values()
return len(occurrences) == len(set(occurrences))
ob = Solution()
print(ob.solve([6, 4, 2, 9, 4, 2, 2, 9, 9, 9])) # True
টাইম কমপ্লেক্সিটি: O(n), স্পেস: O(n)। খুবই সংক্ষিপ্ত ও পাইথনিক সমাধান।