Open
Description
class Solution {
public:
int combinationSum4(vector& nums, int target) {
vector dp(target+1, 0);
for (int t = 0; t < target + 1; ++ t) {
for (int x : nums) {
if (t >=x && dp[t] <= INT_MAX - dp[t-x]) {
if (t > x) dp[t] += dp[t-x];
if (t == x && dp[t] <= INT_MAX - 1) {
dp[t] += 1; //当前这个数字可以组成一个集合 满足target
}
}
}
}
return dp[target];
}
};
Metadata
Metadata
Assignees
Labels
No labels