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