class solution:
def combinationSum4(self, nums: list[int], target: int) -> int:
# 初始化长度为target+1的列表,所有元素都为0,第一个元素为1
dp=[1]+[0]*target
# 遍历1到target的数字
for i in range(1,target+1):
# 遍历nums列表中的元素
for num in range(nums):
# 如果当前数字小于等于当前目标值
if num<=i:
# 更新dp数组中索引为i的值,将dp[i]加上dp[i-num]
dp[i]=dp[i]+dp[i-num]
# 返回dp数组中索引为target的值
return dp[target]