কম্পিউটার টিউটোরিয়াল

পাইথনে ইউনিক Ocurrences চেক (Unique Number of Occurrences in Python)


সমস্যা বিবরণ

একটি অ্যারে দেওয়া আছে। প্রতিটি উপাদানের ঘটনার সংখ্যা (frequency) ইউনিক কিনা চেক করতে হবে। যদি দুটি উপাদানের frequency একই হয় তবে false, অন্যথায় true ফেরত দিন।

উদাহরণ: [1, 1, 2, 2, 2, 3, 4, 4, 4, 4] → true (১: ২ বার, ২: ৩ বার, ৩: ১ বার, ৪: ৪ বার - সব ইউনিক)।

সমাধানের পদ্ধতি

  1. অ্যারেতে প্রতিটি উপাদানের ফ্রিকোয়েন্সি গুনুন (ডিকশনারি ব্যবহার করে)।
  2. ফ্রিকোয়েন্সি মানগুলো একটি সেট বা ডিকশনারিতে রাখুন।
  3. যদি কোনো ফ্রিকোয়েন্সি আগে থেকে থাকে, false ফেরত দিন।
  4. সব یونিক হলে true ফেরত দিন।

পাইথন উদাহরণ

class Solution(object):
    def uniqueOccurrences(self, arr):
        freq = {}
        for num in arr:
            freq[num] = freq.get(num, 0) + 1
        
        seen = set()
        for count in freq.values():
            if count in seen:
                return False
            seen.add(count)
        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

সংক্ষিপ্ত পদ্ধতি (Pythonic)

from collections import Counter

def uniqueOccurrences(arr):
    freq = Counter(arr)
    return len(freq.values()) == len(set(freq.values()))
  1. পাইথনে সিংগেল নাম্বার (Single Number)

  2. পাইথনে প্যালিনড্রোম নাম্বার যাচাই (Palindrome Number)

  3. পাইথনে সংখ্যার ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করা

  4. পাইথনে ফ্যাক্টোরিয়াল (factorial) বের করার তিনটি পদ্ধতি