মান লক্ষ্য করুন আমাদের কাছে একটি সংখ্যার তালিকা nums এবং অন্য একটি মান target আছে। আমাদের কাজ হল এমন সাবলিস্টগুলোর সংখ্যা বের করা যাদের যোগফল target এর সমান।
উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [3, 0, 3] এবং target = 3, তবে আউটপুট হবে 4, কারণ যোগফল ৩ দিয়ে এমন সাবলিস্টগুলো হল: [3], [3, 0], [0, 3], [3]।
temp :=একটি খালি ম্যাপ (ডিফল্টডিক্ট)temp[0] := 1s := 0,ans := 0iকে ০ থেকেlen(nums)পর্যন্ত লুপ চালান:s := s + nums[i]comp := s - target- যদি
comptemp-এ থাকে, তবেans := ans + temp[comp] temp[s] := temp[s] + 1
ansরিটার্ন করুন।
from collections import defaultdict
class Solution:
def solve(self, nums, target):
temp = defaultdict(int)
temp[0] = 1
s = 0
ans = 0
for i in range(len(nums)):
s += nums[i]
comp = s - target
if comp in temp:
ans += temp[comp]
temp[s] += 1
return ans
ob = Solution()
nums = [3, 0, 3]
target = 3
print(ob.solve(nums, target))
[3, 0, 3], 3
4