Leetcode Combination Sum IV
来源:互联网 发布:象棋算法 编辑:程序博客网 时间:2024/06/13 09:22
题目大意:给你一个正整数集合S,以及一个整数a,问一共有多少种情况,可以通过选择S中的数,使得选择的数的和等于a,从集合中选取的数可以重复。
题解: 这一道题是一个很明显的DP问题,设dp[i]表示整数值为i时,在正整数集合下,可以有dp[i]种情况来选取集合内的数来构造i值。而且dp[i]的值可以通过更小的j来求解。
代码:
int combinationSum4(vector<int>& nums, int target) { vector<int> dp(target+1,0); if(nums.size()==0) return 0; dp[0]=1; for(int i=1;i<=target;i++) { for(int j=0;j<nums.size();j++) { if(i>=nums[j]) dp[i] +=dp[i-nums[j]]; } } return dp[target]; }
反思: 这一道dp题还是属于那种比较简单的类型,思路很直接,不需要改什么弯子,但是特别要注意题目中集合的元素是可以重复的,对于那些不可以重复的问题,就可能需要改变循环的条件,变成从大到小或者改变内层和外层的循环。
0 0
- 【Leetcode】Combination Sum IV
- [leetcode] Combination Sum IV
- Leetcode: Combination Sum IV
- LeetCode Combination Sum IV
- Leetcode Combination Sum IV
- LeetCode: Combination Sum IV
- LeetCode--Combination Sum IV
- LeetCode 377 Combination Sum IV
- Leetcode 377. Combination Sum IV
- 【LeetCode】377. Combination Sum IV
- [leetcode] 377. Combination Sum IV
- LeetCode[377] Combination Sum IV
- 【leetcode】377. Combination Sum IV
- LeetCode:377. Combination Sum IV
- [leetcode] 377.Combination Sum IV
- 377. [LeetCode]Combination Sum IV
- LeetCode #377: Combination Sum IV
- leetcode-377. Combination Sum IV
- 并发服务器和循环服务器
- ViewPager设置完FragmentPagerAdapter后动态的进行增加删除Fragment
- 你不懂JS:作用域与闭包 第四章:提升
- 准确率与召回率
- C++多态的概念以及用途(通俗易懂)
- Leetcode Combination Sum IV
- 2016.12.12 学习日记-简单工厂模式
- HDU 1237
- jdbc学习:jdbc事务操作
- 锋利的jQuery读书笔记-第1章 认识jQuery
- QT5.70MSVC版连接MYSQL5.7.16.0连接不上QMYSQL解决
- 第三方微博登录:你所访问的站点在微博认证失败,错误号:21322
- 1057. 数零壹(20)
- PrefixSpan算法详解