leetcode 377. Combination Sum IV 解题报告
2016-08-04 21:39
323 查看
原题链接
原题链接解题思路
刚看到题目的我是一脸懵逼的。看题目的标签是动态规划,可见自己的动态规划很弱,需要加强。首先构造数组dp[i]用来表示target等于i时有多少种类。并且定义dp[0] = 1。
状态转移方程是dp[i] = sum(dp[i - nums[k]]) (k<=i);为什么将dp[0] = 1,就很明显了,因为当一个数字和target相等,此数字只有一种排列。
dp[i - nums[k]]表示,去掉nums[k]时,此时的dp[j]的排列数。这样这个状态转移方程也就明了了。
这样直到求出目标dp[target]。
解题代码
public class Solution { 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 k : nums) { if (k <= i) dp[i] += dp[i - k]; } } return dp[target]; } }
相关文章推荐
- 【LeetCode】435.Non-overlapping Intervals(Medium)解题报告
- Leetcode 407. Trapping Rain Water II 收集雨水2 解题报告
- leetcode解题报告228——Summary Ranges
- [Leetcode] 359. Logger Rate Limiter 解题报告
- [leetcode] 300. Longest Increasing Subsequence 解题报告
- leetcode解题报告(24):Pascal's TriangleII
- 【LeetCode】Find Minimum in Rotated Sorted Array 解题报告
- [leetcode] 289. Game of Life 解题报告
- LeetCode: Reverse Nodes in k-Group 解题报告
- LeetCode: 【L4】N-Queens 解题报告
- [leetcode] 257. Binary Tree Paths 解题报告
- LeetCode: N-Queens II 解题报告
- LeetCode-Count Complete Tree Nodes -解题报告
- [leetcode] 226. Invert Binary Tree 解题报告
- LeetCode: Maximum Product Subarray 解题报告
- [leetcode] 164. Maximum Gap 解题报告
- 【LeetCode】Balanced Binary Tree 解题报告
- [Leetcode] 582. Kill Process 解题报告
- 【LeetCode】208. Implement Trie (Prefix Tree) 解题报告(Python)
- [Leetcode] 263. Ugly Number 解题报告