ধরুন আমাদের কাছে nums নামক একটি অ্যারে আছে আমাদের পরীক্ষা করতে হবে যে অ্যারেটিতে এমন একটি উপাদান আছে কিনা যার মান অন্যান্য সমস্ত উপাদানের যোগফলের সমান৷
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[3,2,10,4,1], তাহলে আউটপুট হবে True, 10 =(3+2+4+1)।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- freq :=একটি খালি মানচিত্র
- মোট :=0
- আমি 0 থেকে সংখ্যার আকার - 1 এর মধ্যে, কর
- freq[nums[i]] :=freq[nums[i]] + 1
- মোট :=মোট + সংখ্যা[i]
- যদি মোট জোড় হয়, তাহলে
- যদি freq[(মোট / 2)] এর ভাগফল অ-শূন্য হয়, তাহলে
- সত্য ফেরান
- যদি freq[(মোট / 2)] এর ভাগফল অ-শূন্য হয়, তাহলে
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
from collections import defaultdict def solve(nums): freq = defaultdict(int) total = 0 for i in range(len(nums)): freq[nums[i]] += 1 total += nums[i] if total % 2 == 0: if freq[total // 2]: return True return False nums = [3,2,10,4,1] print(solve(nums))
ইনপুট
[3,2,10,4,1]
আউটপুট
True