python中和为k的个数_程序查找在python中总计为k的不同组合的数量
假設(shè)我們有一個(gè)稱(chēng)為nums和另一個(gè)數(shù)字k的不同數(shù)字的列表,我們必須找到總計(jì)為k的不同組合的數(shù)量。您可以在創(chuàng)建組合時(shí)重復(fù)使用數(shù)字。
因此,如果輸入像nums = [2,4,5] k = 4,那么輸出將是2,因?yàn)槲覀兛梢詫蓚€(gè)這樣的組劃分為[2,2]和[4]。
為了解決這個(gè)問(wèn)題,我們將按照以下步驟操作:table:=大小為k + 1的列表,并用0填充
table[0]:= 1
對(duì)于以num為單位的每個(gè)numtable [i]:= table [i] + table [i-num]
對(duì)于num到k的i
返回表[k]
讓我們看下面的實(shí)現(xiàn)以更好地理解:
范例程式碼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
輸出結(jié)果2
總結(jié)
以上是生活随笔為你收集整理的python中和为k的个数_程序查找在python中总计为k的不同组合的数量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: group by 去重_【小学英语口语】
- 下一篇: iptable 详解_最全的iptabl