问题描述
状态转移方程为 当数组不越界的情况下(i-nums[j]>=0) dp[i]=sum(dp[i-nums[j]]);
代码
class Solution {
public:
int combinationSum4(vector
<int>& nums
, int target
) {
int n
=nums
.size();
if(target
<=0||n
==0) return 0;
vector
<unsigned int> dp(target
+1,0);
dp
[0]=1;
for(int i
=1;i
<=target
;i
++) {
for(int j
=0;j
<n
;j
++) {
if(i
>=nums
[j
]) dp
[i
]+=dp
[i
-nums
[j
]];
}
}
return dp
[target
];
}
};
转载请注明原文地址: https://lol.8miu.com/read-3636.html