class Solution {
public int combinationSum4(int[] nums, int target) {
//首先使用一维数组缓存已经计算的排列的数目
int[] dp = new int[target + 1];
dp[0] = 1;
//对于每个数i可以尝试在i - num[j]加入本数字
for(int i = 1;i <= target;i++){
for(int num : nums){
if(num <= i){
dp[i] += dp[i - num];
}
}
}
return dp[target];
}
}
排列的数目java实现
最新推荐文章于 2022-03-21 16:21:38 发布