মান লক্ষ্য করুন আমাদের কাছে বরাবর নয় এমন একটি সংখ্যার তালিকা nums এবং অন্য একটি সংখ্যা k আছে। আমাদের কাজ হল যোগফল k হয় এমন স্বতন্ত্র কম্বিনেশনের সংখ্যা বের করা। কম্বিনেশন বানাতে সময় সংখ্যাগুলো পুনরাবৃত্তি করা যাবে।
উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [2, 4, 5] এবং k = 4, তবে আউটপুট হবে 2, কারণ আমরা দুটি এমন গ্রুপ বানাতে পারি: [2, 2] এবং [4]।
table :=আকারk+1এমন একটি তালিকা যা ০ দিয়ে ভরা আছে।table[0] := 1- প্রতিটি
numএর জন্যnums-এ:iকেnumথেকেkপর্যন্ত লুপ চালান:table[i] := table[i] + table[i - num]
table[k]রিটার্ন করুন।
class Solution:
def solve(self, nums, k):
table = [1] + [0] * k
for num in nums:
for i in range(num, k + 1):
table[i] += table[i - num]
return table[k]
ob = Solution()
nums = [2, 4, 5]
k = 4
print(ob.solve(nums, k))
[2, 4, 5], 4
2