377. Combination Sum IV
来源:互联网 发布:小程序个人中心源码 编辑:程序博客网 时间:2024/06/10 16:16
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 = 4The 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?
Credits:
Special thanks to @pbrother for adding this problem and creating all test cases.
public class Solution { public int combinationSum4(int[] nums, int target) { int[] res = new int[target + 1]; res[0] = 1; for (int i = 1; i < res.length; i ++) { for (int j = 0; j < nums.length; j ++) { if (i - nums[j] >= 0) { res[i] += res[i - nums[j]]; } } } return res[target]; }}第二种方法是自上而下,每次的targrt是target-nums[i],进行递归。代码如下:
private int[] dp;public int combinationSum4(int[] nums, int target) { dp = new int[target + 1]; Arrays.fill(dp, -1); dp[0] = 1; return helper(nums, target);}private int helper(int[] nums, int target) { if (dp[target] != -1) { return dp[target]; } int res = 0; for (int i = 0; i < nums.length; i++) { if (target >= nums[i]) { res += helper(nums, target - nums[i]); } } dp[target] = res; return res;}
0 0
- 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
- 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
- 377. Combination Sum IV
- 377. Combination Sum IV
- 377. Combination Sum IV
- 377. Combination Sum IV
- Java用队列优化递归
- HTTP API 设计指南
- 制作 wordpress 博客静态化到本地
- 函数的瞬时python 多端元光谱混合分解<七>
- 等待中。
- 377. Combination Sum IV
- Lua-迭代器
- 管理者和学者的关系,深入的换位思考的重要性
- 第34课:彻底解密Spark 2.1.X中Shuffle 中SortShuffleWriter排序源码内幕解密
- 256. Paint House
- [Python/自动化运维] 利用Paramiko模块执行批量上传/下载/执行命令/查看服务器列表
- Feature Point Detection and Matching
- 遍历idt表_数组
- 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis