leetcode 377. Combination Sum IV

作者: Terence_F | 来源:发表于2016-07-26 00:00 被阅读929次

Combination Sum IV
早上起来看到朋友微信说出新题了,于是打开leetcode 看了一下,原来又是Combination Sum。 打开之后果断用了之前三个Combination Sum 用到的 Backtracking, then submit, TIME LIMIT EXCEEDED, XD. 看了下tags,原来是用DP,于是写了个DP的sulotion

tags

状态转移方程: combinationSum4(x): f(x)
f(target) = f(target - nums[0]) + f(target - nums[1]) + ... + f(target - nums.back())

附上之前三个combinationSum的题,没有做前三个的可以先做一下前三个
Combination Sum
Combination Sum II
Combination Sum III

    int combinationSum4(vector<int>& nums, int target) {
        vector<int> res(target + 1, 0);
        res[0] = 1;
        for (int i = 1; i <= target; i++)
            for (int n: nums)
                if (i >= n)
                    res[i] += res[i - n];
        return res.back();
    }

相关文章

网友评论

    本文标题:leetcode 377. Combination Sum IV

    本文链接:https://www.haomeiwen.com/subject/sqlnjttx.html