其他分享
首页 > 其他分享> > 377. 组合总和 Ⅳ

377. 组合总和 Ⅳ

作者:互联网

/**
       1、由于需要考虑选取元素的顺序,因此这道题需要计算的是选取元素的排列数
       2、dp[x] 表示选取的元素之和等于 x的方案数,目标求dp[target]
       3、dp[0]=1,什么都不选也是一种方案
       4、dp[i] nums 遍历 :选num dp[i-num] (num<=i),不选num dp[i]
    */
    public int combinationSum4(int[] nums, int target) {
    
        int[] dp=new int[target+1];

        dp[0]=1;
        for(int i=1;i<=target;i++){
            for(int num:nums){
                if(num<=i){
                    dp[i]+=dp[i-num];
                }
            }
        }
        return dp[target];
    
    }

  

标签:这道题,组合,nums,元素,选取,num,377,dp,总和
来源: https://www.cnblogs.com/iwyc/p/15414732.html