(M)Dynamic Programming:377. Combination Sum IV

来源:互联网 发布:matlab读取excel数据 编辑:程序博客网 时间:2024/06/03 18:59

这道题一开始用的DFS,后来超时了。看了大神写的动态规划发现挺简单的,但是自己就是没找到递归关系,后来看到大神的博客,才想起来确实和climing stairs那道题很像。

http://www.cnblogs.com/grandyang/p/5705750.html

代码:

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