题目:
给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。

题解思路:
方法一:一维动态规划
函数代码:
class Solution {
public:
int combinationSum4(vector<int>& nums, int target) {
int n=nums.size();
vector<unsigned long long> dp(target+1,0);
dp[0]=1;
for(int i=0;i<=target;i++)
{
for(int j=0;j<nums.size();j++)
{
if(i>=nums[j])
{
dp[i]=dp[i]+dp[i-nums[j]];
}
}
}
return dp[target];
}
};

本文介绍了一种使用一维动态规划解决组合数问题的方法。给定一个不含重复数字的正整数数组,目标是找出所有可能组合,使得这些组合的元素之和等于给定的目标正整数。通过一个大小为target+1的一维数组dp,记录到达每个数值的组合数,最终返回dp[target]即为目标组合数。
1000

被折叠的 条评论
为什么被折叠?



