老师您好!377号问题是求从数组中挑选一些数组成特定和的组合数,我不理解为什么把完全背包问题中的目标数放在外循环,数组中数放在内循环求出的就是包含重复的结果,可以给我解释一下么?
class Solution { public: int combinationSum4(vector<int>& nums, int target) { int n=nums.size(); if(n==0) return 0; vector<int> memo(target+1,0); memo[0]=1; for(int i=1;i<=target;i++) { for(int j=0;j<n;j++) { if(nums[j]<=i) memo[i]=memo[i]+memo[i-nums[j]]; } } return memo[target]; } };