মান লো যাক আমাদের nums নামক একটি সংখ্যার তালিকা আছে, আমাদের যাচাই করতে হবে আমরা কি তালিকাটিকে ১ বা অধিক গ্রুপে ভাগ করতে পারি যাতে: 1. প্রতিটি গ্রুপের আকার ২-এর চেয়ে বড় বা সমান। 2. সব গ্রুপের আকার একই। 3. প্রতিটি গ্রুপে থাকা সব সংখ্যা একই।
उदाहरण के लिए, यदि इनपुट है [3, 4, 6, 9, 4, 3, 6, 9], तो आउटपुट होगा True।
इसे हल करने के लिए, हम निम्नলिखित चरणों का पालन करेंगे:
- counts := एक मैप जहां प्रत्येक कुंजी विशिष्ट तत्व हैं और मान उनकी आवृत्तियाँ हैं
- temp := 0
- counts में प्रत्येक काउंट के लिए, करें
- यदि temp, 0 के समान है, तो
- temp := counts[count]
- अन्यथा,
- temp := counts[count] और temp का gcd
- यदि temp, 1 के समान है, तो
- False वापस करें
- यदि temp, 0 के समान है, तो
- True वापस करें
বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন देखুন:
উদাহরণ
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