leetcode 377. 组合总和 Ⅳ(dp)
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。
题目数据保证答案符合 32 位整数范围。
示例 1:
输入:nums = [1,2,3], target = 4
输出:7
解释:
所有可能的组合为:
(1, 1, 1, 1)
(1, 1, 2)
(1, 2, 1)
(1, 3)
(2, 1, 1)
(2, 2)
(3, 1)
请注意,顺序不同的序列被视作不同的组合。
示例 2:
输入:nums = [9], target = 3
输出:0
提示:
1 <= nums.length <= 200
1 <= nums[i] <= 1000
nums 中的所有元素 互不相同
1 <= target <= 1000
解题思路
数组含义
枚举1至target的值,使用一个一维数组记录可以组成当前元素的组合个数
状态转移方程就是
for _, num := range nums {//枚举nums数组if i-num>0&&dp[i-num]>0{dp[i]+=dp[i-num]}}
dp[i-num]大于0,说明i-num可以由nums数组中的元素组成,并且组合个数为dp[i-num],因此i同样也能由nums数组元素组合而来,并且组合个数为dp[i-num]
初始化
for _, num := range nums {if num>target {continue }dp[num]=1}
枚举nums,dp[num]=1,即nums数组中元素可以直接组成一个target值而且组合个数为1
代码
func combinationSum4(nums []int, target int) int {dp := make([]int, target+1)for _, num := range nums {if num>target {continue }dp[num]=1}for i := 1; i <=target; i++ {for _, num := range nums {if i-num>0&&dp[i-num]>0{dp[i]+=dp[i-num]}}}return dp[target]}
leetcode 377. 组合总和 Ⅳ(dp)相关推荐
- leetcode.377. 组合总和 Ⅳ---dp问题
377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 32 ...
- [Leetcode] 377. 组合总和 Ⅳ
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 32 位整数范围. 示例 1 ...
- Java实现 LeetCode 377 组合总和 Ⅳ
377. 组合总和 Ⅳ 给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数. 示例: nums = [1, 2, 3] target = 4 所有可能的组合为: (1, 1 ...
- leetcode 377 组合总和IV
题目 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 32 位整数范围. 示 ...
- 100. Leetcode 377. 组合总和 Ⅳ (动态规划-完全背包)
根据题意可判断属于完全背包队列问题 步骤一.确定状态: 确定dp数组及下标含义 dp数组的大小是target+1, 那么这时候背包的容量才能取到target, dp[j]表示的是装满容量为[j]的背包 ...
- 【Leetcode】完全背包问题-377. 组合总和 Ⅳ
[Leetcode]完全背包问题-377. 组合总和 Ⅳ 题目 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素 ...
- 模拟卷Leetcode【普通】377. 组合总和 Ⅳ
377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 32 ...
- LeetCode 每日一题 377. 组合总和 Ⅳ
377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 32 ...
- 【力扣-动态规划入门】【第 21 天】377. 组合总和 Ⅳ
标题:377. 组合总和 Ⅳ 难度:中等 天数:第21天,第1/3题 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target ...
最新文章
- 区块链基础--工作量证明
- 字符串(string类)
- 最快让你上手ReactiveCocoa之进阶篇
- Android高通平台调试Camera驱动全纪录
- PHP 对象、数组间的转换
- 吴恩达 coursera ML 第十四课总结+作业答案
- 天正坐标标注显示不全_高效率的天正CAD技巧,其实制图很简单!
- 有的网线接口为什么做不到轻薄化?
- 沿海产业基地与海润光伏共建产业园开工在即
- SLAM_BA中重投影误差e 关于相机位姿扰动量δξ 的雅克比矩阵J 公式推导
- protected的继承方式有什么特点_酿酒:大曲酒有哪些配料方式?有什么特点?
- html的embed标签的元素隐藏,HTML-embed标签详解
- CF106C Buns动态规划解决多重背包
- Shader学习建议
- c盘users在哪(c盘users在哪)
- 程序员忽悠女朋友玩gal
- mysql list dbs 代替_mysql_list_dbs函数的用法实例汇总
- 设计模式 -- 状态模式
- mysql 覆盖写入_INSERT ON CONFLICT覆盖写入
- Spring boot自定义拦截器和拦截器重定向配置简单介绍~!