(算法分析Week13)Combination Sum IV[Medium]
来源:互联网 发布:java 包装类 编辑:程序博客网 时间:2024/06/05 08:44
506. 377. Combination Sum IV[Medium]
题目来源
Description
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.
Solution
动态规划,有点类似跳楼梯那道题,只不过跳楼梯规定了0或1,这里有vector中的数字供选取,其实思路还是一样的。
dp[i]表示目标数为i的解的个数,从target-nums[i]到target只有一种途径,所以这种途径的可能是dp[target-nums[i]],
也就是:
dp[i]=Σdp[i-nums[k]] 0<=k<=nums.size()
当i-nums[k]等于0时,表示数组中有target,此时dp[i]为1
Complexity analysis
O(MN)
M = target;
N = nums.size()
Code
class Solution {public: int combinationSum4(vector<int>& nums, int target) { int dp[target+1] = {0}; for (int i = 1; i <= target; i++) { for (int j = 0; j < nums.size(); j++) { if (i - nums[j] > 0) { dp[i] += dp[i - nums[j]]; } else if (i - nums[j] == 0) { dp[i] += 1; } } } return dp[target]; }};
Result
阅读全文
0 0
- (算法分析Week13)Combination Sum IV[Medium]
- [Medium]Combination Sum IV
- Leetcode: 40. Combination Sum II(Week13, Medium)
- 377. Combination Sum IV -Medium
- 377. Combination Sum IV Medium
- Leetcode 377. Combination Sum IV (Medium) (cpp)
- Medium 377题 Combination Sum IV
- (Leetcode)377. Combination Sum IV (medium)
- LeetCode[377. Combination Sum IV] 难度[medium]
- LeetCode #377 - Combination Sum IV - Medium
- [leetcode 377. Combination Sum IV]medium|week10
- (算法分析Week13)Is Subsequence[Medium]
- LeetCode解题报告 377. Combination Sum IV [medium]
- 377. Combination Sum IV 类别:动态规划 难度:medium
- 【LeetCode】377.Combination Sum IV(Medium)解题报告
- 算法分析与设计课程15——377. Combination Sum IV
- 【Leetcode】Combination Sum IV
- [leetcode] Combination Sum IV
- JVM内存分配与回收策略
- 递归法
- Java中的static关键字理解和总结
- linux下实现彩色进度条
- Nginx为什么比Apache Httpd高效:原理篇
- (算法分析Week13)Combination Sum IV[Medium]
- 经验技巧套路收获总结(附上ccf第二类中的三道)
- Linux监控系统磁盘使用比例,当使用率达到指定比例,删除指定目录下的所有文件的shell脚本
- Rhyme/算法 冒泡排序优化版
- 自顶向下,逐步求精
- 秒杀系统架构分析与实战
- caffe 创建网络模型
- List<String> 调用Collection.sort()整个流程的知识点
- 使用Phalcon+PHP-FPM构建PHP基于多进程的数据库连接池