problem:377. 组合总和 Ⅳ
思路:和求爬楼梯的方案数一样,只不过爬楼梯那里可以把数组看作是只有1,2;这里这题进阶了一点,多了爬楼梯跳阶的个数。
Accode:
class Solution {
public:
int combinationSum4(vector<int>& nums, int target) {
int n = nums.size();
long long f[target+1];
memset(f,0,sizeof f);
// f[0][0] =1;
// long long ans =0 ;
f[0]=1;
for(int i=1;i<=target;i++){
for(auto it:nums){
if(it<=i) f[i]+=f[i-it];
}
}
return f[target];
}
};
时间复杂度: $o(t*n)$