要求:给target,问数组里组合
思路:{1,3}{3,1}不算重复,物品放里面
class Solution {
public:
int combinationSum4(vector<int>& nums, int target) {
vector<int> dp(target+1);
dp[0]=1;
for(int j=1;j<=target;++j)
for(auto& a:nums)
if(j>=a&&dp[j-a]<INT_MAX-dp[j])//上溢
dp[j]=dp[j]+dp[j-a];
return dp[target];
}
};