377. Combination Sum IV Medium

来源:互联网 发布:美女容易出轨知乎 编辑:程序博客网 时间:2024/05/29 09:28

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.


思路:找到子问题为:target减少的时候一共有多少中排列方式。对于target有多少种排列方式,就是将所有可能组成的target*的排列个数相加。注意我们认为target为0时有1中个排列方式,这是用于排列数和target相等的情况。


class Solution {public:    int combinationSum4(vector<int>& nums, int target) {        int result[target + 1];        for (int i = 0; i < target + 1; i++) {            result[i] = 0;            }        result[0] = 1;        for (int i = 1; i < target + 1; i++) {            for (int j = 0; j < nums.size(); j++) {                if (nums[j] <= i) {                    result[i] += result[i - nums[j]];                }            }            }        return result[target];    }};


原创粉丝点击