class Solution {
//题目限制很少,可以重复且排列不同也算,那么每一层递归时,数组全部需要检测,
public:
int ans = 0;
int combination(vector<int>& nums, int target) {
dp(nums, target, 0);
return ans;
}
void dp(vector<int>& nums, int target, int curr){
if(curr > target)return;
if(curr == target){
++ans;
return;
}
for(int i=0; i<nums.size(); ++i){
dp(nums, target, curr+nums[i]);
}
}
};

京公网安备 11010502036488号