মান লিজিয়ে আমাদের একটি অ্যারে nums আছে যাতে সব মৌলিক সংখ্যা রয়েছে। আমাদের যাচাই করতে হবে nums-এ উপস্থিত সব সংখ্যার গুণফল একটি পূর্ণবর্গ (perfect square) কিনা।
যেমন, ইনপুট যদি nums = [3,3,7,7] হয়, তবে আউটপুট হবে True কারণ nums-এ সব উপাদানের গুণফল ৪৪১ যা একটি পূর্ণবর্গ কারণ ২১² = ৪৪১।
সমাধানের ধাপসমূহ
m:=nums-এ উপস্থিত সব উপাদান এবং তাদের ফ্রিকোয়েন্সি ধারণকারী একটি ম্যাপnums-এ প্রতিটি কী জন্য, করুন:- যদি
m[key]বিষম হয়, তবে:Falseরিটার্ন করুন
- যদি
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