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