मान लीजिए कि हमारे पास सभी अभाज्य संख्याओं के साथ एक सरणी संख्या है। हमें यह जांचना है कि अंकों में मौजूद सभी संख्याओं का गुणनफल एक पूर्ण वर्ग है या नहीं।
इसलिए, यदि इनपुट nums =[3,3,7,7] जैसा है, तो आउटपुट सही होगा क्योंकि अंकों में सभी तत्वों का गुणनफल 441 है जो 21^2 =441 के रूप में एक पूर्ण वर्ग है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- m :=एक नक्शा जिसमें सभी तत्वों की संख्या और उनकी आवृत्तियां होती हैं
- अंकों में प्रत्येक कुंजी के लिए, करें
- यदि m[कुंजी] विषम है, तो
- झूठी वापसी
- यदि m[कुंजी] विषम है, तो
- सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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