377. Combination Sum IV (DP)

 1 class Solution {
 2     public int combinationSum4(int[] nums, int target) {
 3         int[] res = new int[target + 1];
 4         res[0] = 1;
 5         for(int i = 1; i <= target; i++) {
 6             for(int j = 0; j < nums.length; j++) {
 7                 if(nums[j] <= i && res[i - nums[j]] > 0) {
 8                     res[i] += res[i - nums[j]] ;
 9                 }
10             }
11         }
12         return res[target];
13
14
15     }
16 }

原文地址:https://www.cnblogs.com/goPanama/p/9410842.html

时间: 2024-10-16 20:16:44

377. Combination Sum IV (DP)的相关文章

LC 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,

Leetcode 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,

377. Combination Sum IV 70. Climbing Stairs

back function (return number) remember the structure class Solution { int res = 0; //List<List<Integer>> resList = new ArrayList<List<Integer>>(); public int combinationSum4(int[] nums, int target) { Arrays.sort(nums); return back(

377. Combination Sum IV

是看到discuss里面的解法,因为用backtracking实在太多可能性了 思路是和https://leetcode.com/problems/climbing-stairs/ 在climbing stairs里面假如有n个台阶,每次可以跨一个台阶或者两个台阶,那么它的状态转移方程是res[i] = res[i - 1] + res[i - 2],初始化是res[0] = 1; res[1] = 1; 但是在本题中,每次不再只是可以跨一步或者两步了,每次可以跨nums数组里面的任意数字的步,

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

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,

动态规划------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,

Combination Sum IV -- LeetCode

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,

leetcode377 Combination Sum IV

思路: dp. 实现: 1 class Solution 2 { 3 public: 4 int combinationSum4(vector<int>& nums, int target) 5 { 6 if (nums.empty()) return target == 0; 7 vector<int> dp(target + 1, 0); 8 dp[0] = 1; 9 vector<int> tmp(nums.begin(), nums.end()); 10