मान लीजिए हमारे पास nums नामक एक सरणी है जिसमें सभी अभाज्य संख्याएं हैं। हमें यह जांचना है कि nums में मौजूद सभी संख्याओं का गुणनफल एक पूर्ण वर्ग है या नहीं।
तो, यदि इनपुट nums = [3,3,7,7] है, तो आउटपुट True होगा क्योंकि nums में सभी तत्वों का गुणनफल 441 है जो एक पूर्ण वर्ग है क्योंकि 21^2 = 441।
हल करने के चरण
- m := एक मैप जिसमें nums के सभी तत्व और उनकी आवृत्तियां हों
- nums में प्रत्येक कुंजी के लिए, करें:
- यदि m[key] विषम है, तो:
- False लौटाएं
- यदि m[key] विषम है, तो:
- True लौटाएं
उदाहरण
from collections import defaultdict
def solve(nums):
m = defaultdict(int)
for key in nums:
m[key] += 1
for key in nums:
if m[key] % 2 == 1:
return False
return True
nums = [3,3,7,7]
print(solve(nums))
इनपुट
[3,3,7,7]
आउटपुट
True