377. Combination Sum IV

Posted boluo007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了377. Combination Sum IV相关的知识,希望对你有一定的参考价值。

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.

Example:

nums = [1, 2, 3]
target = 4

The possible combination ways are:
(1, 1, 1, 1)
(1, 1, 2)
(1, 2, 1)
(1, 3)
(2, 1, 1)
(2, 2)
(3, 1)

Note that different sequences are counted as different combinations.

Therefore the output is 7.

 

Follow up:
What if negative numbers are allowed in the given array?
How does it change the problem?
What limitation we need to add to the question to allow negative numbers?

class Solution(object):
    def combinationSum4(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        dp = [0] * (target+1)
        dp[0] = 1
        for i in range(1,target+1):
            for num in nums:
                if i >= num:
                    dp[i] += dp[i-num]
        
        return dp[-1]
                    
            

 

以上是关于377. Combination Sum IV的主要内容,如果未能解决你的问题,请参考以下文章

377. Combination Sum IV

算法: 求和377. Combination Sum IV

算法: 求和377. Combination Sum IV

377. Combination Sum IV

377. Combination Sum IV

377. Combination Sum IV