ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমাদের পরীক্ষা করতে হবে আমরা তালিকাটিকে 1 বা ততোধিক দলে ভাগ করতে পারি যেমন:1. প্রতিটি গ্রুপের আকার 2 এর চেয়ে বড় বা সমান। 2. সমস্ত গ্রুপের আকার একই। . 3. প্রতিটি গ্রুপে উপস্থিত সমস্ত সংখ্যা একই।
সুতরাং, যদি ইনপুটটি [3, 4, 6, 9, 4, 3, 6, 9] এর মত হয়, তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- গণনা :=একটি মানচিত্র যেখানে প্রতিটি কী স্বতন্ত্র উপাদান এবং মানগুলি তাদের ফ্রিকোয়েন্সি
- তাপ :=0
- গণনায় প্রতিটি গণনার জন্য, করুন
- যদি temp 0 এর মত হয়, তাহলে
- temp :=গণনা [গণনা]
- অন্যথায়,
- temp :=গণনার gcd[count] এবং temp
- যদি temp 1 এর মত হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি temp 0 এর মত হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
from collections import Counter import math class Solution: def solve(self, nums): counts = Counter(nums) temp = 0 for count in counts: if temp == 0: temp = counts[count] else: temp = math.gcd(counts[count], temp) if temp == 1: return False return True ob = Solution() L = [3, 4, 6, 9, 4, 3, 6, 9] print(ob.solve(L))
ইনপুট
[3, 4, 6, 9, 4, 3, 6, 9]
আউটপুট
True