मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहते हैं, हमें यह जांचना होगा कि क्या हम सूची को 1 या अधिक समूहों में विभाजित कर सकते हैं जैसे:1. प्रत्येक समूह का आकार 2 से बड़ा या बराबर है। 2. सभी समूहों के आकार समान हैं . 3. प्रत्येक समूह में मौजूद सभी संख्याएं समान होती हैं।
इसलिए, अगर इनपुट [3, 4, 6, 9, 4, 3, 6, 9] जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- गणना करता है:=एक नक्शा जहां प्रत्येक कुंजी अलग तत्व हैं और मान उनकी आवृत्तियां हैं
- अस्थायी:=0
- गणना में प्रत्येक गणना के लिए, करें
- यदि तापमान 0 के समान है, तो
- अस्थायी:=मायने रखता है[गिनती]
- अन्यथा,
- अस्थायी:=गणनाओं की जीसीडी[गिनती] और अस्थायी
- यदि तापमान 1 के समान है, तो
- झूठी वापसी
- यदि तापमान 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