[leetcode]377. Combination Sum IV

[leetcode]377. Combination Sum IV


Analysis

normal day—— [每天刷题并不难0.0]

Given an integer array with all positive numbers and no duplicates, find the number of possible combinations that add up to a positive integer target.
在这里插入图片描述
动态规划
在讨论区看到了一个大神吧所有的combination sum问题都总结了一下,可以看看:
https://leetcode.com/problems/combination-sum-iv/discuss/85120/C%2B%2B-template-for-ALL-Combination-Problem-Set

Implement

class Solution {
public:
    int combinationSum4(vector<int>& nums, int target) {
        vector<int> res(target+1);
        res[0] = 1;
        sort(nums.begin(), nums.end());
        for(int i=1; i<=target; i++){
            for(int num:nums){
                if(i > num)
                    res[i] += res[i-num];
                else if(i == num)
                    res[i] += 1;
                else if(i < num)
                    break;
            }
        }
        return res[target];
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_32135877/article/details/85062692