python中和为k的个数_程序查找在python中总计为k的不同组合的数量
生活随笔
收集整理的這篇文章主要介紹了
python中和为k的个数_程序查找在python中总计为k的不同组合的数量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設我們有一個稱為nums和另一個數字k的不同數字的列表,我們必須找到總計為k的不同組合的數量。您可以在創建組合時重復使用數字。
因此,如果輸入像nums = [2,4,5] k = 4,那么輸出將是2,因為我們可以將兩個這樣的組劃分為[2,2]和[4]。
為了解決這個問題,我們將按照以下步驟操作:table:=大小為k + 1的列表,并用0填充
table[0]:= 1
對于以num為單位的每個numtable [i]:= table [i] + table [i-num]
對于num到k的i
返回表[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
總結
以上是生活随笔為你收集整理的python中和为k的个数_程序查找在python中总计为k的不同组合的数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: group by 去重_【小学英语口语】
- 下一篇: iptable 详解_最全的iptabl