当前位置: 首页 > wzjs >正文

新网站百度收录今天合肥刚刚发生的重大新闻

新网站百度收录,今天合肥刚刚发生的重大新闻,做视频网站需要多少钱,wordpress报表模板下载377. 组合总和 Ⅳ - 力扣(LeetCode) 这道题是组合总和问题的一种变形,求的是不同元素组成 target 的组合个数,可以用动态规划来解。 解法:动态规划 1. 定义状态 设 dp[i] 表示总和为 i 的元素组合的个数。 2. 状态…

377. 组合总和 Ⅳ - 力扣(LeetCode)

这道题是组合总和问题的一种变形,求的是不同元素组成 target组合个数,可以用动态规划来解。

解法:动态规划

1. 定义状态

dp[i] 表示总和为 i 的元素组合的个数

2. 状态转移方程

对于 nums 中的每个数 num

  • 如果 i ≥ num,那么 dp[i] 可以由 dp[i - num] 递推得出: dp[i]+=dp[i−num]dp[i] += dp[i - num]
  • 解释:如果我们已经知道 dp[i - num] 种方法可以组成 i - num,那么只要再加上 num,就能得到 i
3. 初始化
  • dp[0] = 1,表示凑成 0 的方法只有一种:什么都不选。
4. 遍历顺序
  • 外层遍历 i(从 0target:计算每个 i 的组合数。
  • 内层遍历 num(遍历 nums:尝试使用 num 组合成 i

代码实现

def combinationSum4(nums, target):dp = [0] * (target + 1)dp[0] = 1  # 只有一种方法凑成 0,即什么都不选for i in range(1, target + 1):  # 计算从 1 到 target 的组合数for num in nums:  # 尝试每个数if i >= num:dp[i] += dp[i - num]return dp[target]

时间复杂度分析

  • 外层循环遍历 1 ~ target,执行 O(target) 次。
  • 内层循环遍历 nums,执行 O(n) 次。
  • 总复杂度O(n * target),其中 nnums 的大小。

示例

输入
nums = [1, 2, 3]
target = 4
print(combinationSum4(nums, target))
输出
7
解释

满足条件的组合:

  • 1 + 1 + 1 + 1
  • 1 + 1 + 2
  • 1 + 2 + 1
  • 1 + 3
  • 2 + 1 + 1
  • 2 + 2
  • 3 + 1

总共 7 种组合,返回 7

这个方法利用动态规划,高效求解了所有可能的组合数。🚀

http://www.dtcms.com/wzjs/439396.html

相关文章:

  • 郑州网站建设公司企业网站建设需要多少钱
  • 做商务楼房型图网站百度搜索引擎优化方式
  • 北京网站建设华大站群优化公司
  • 网易云播放器做网站播放如何快速搭建网站
  • 重庆雕塑制作西安网站seo优化公司
  • 企业型网站建设费用新闻近期大事件
  • 学校网站开发实际意义企业网站推广策划
  • 文旅网站界面设计中国进入一级战备状态了吗
  • 兰州seo安安网站建设西安网站排名优化培训
  • 建设 政务数据共享网站网站排名前十
  • 深圳市门户网站建设企业品牌营销策划ppt
  • 深圳互联时空网站优化怎么样seo搜索引擎优化实训总结
  • 游戏开发网站开发如何去做网络营销
  • 网站备案域名转公司吸引人的营销标题
  • 手机网站 源码百度推广需要多少钱
  • 西宁房地产网站建设商品标题关键词优化
  • 做直播哪个网站好河源市企业网站seo价格
  • 域名访问网站怎么下载成都百度推广开户公司
  • wordpress图片本地北京seo人员
  • 中小企业网站建设报告做网站的公司有哪些
  • 长沙网站推广智投未来深圳网络推广工资
  • 外包做网站的会给你什么公司做网站怎么做
  • 济南专业做网站抖音seo排名优化
  • 专业购物网站建设网络软文发布平台
  • 网站优化公司电话站长工具seo查询
  • 子页面的网站地址怎么做百度人工服务热线电话
  • 网站上的动效是用ae做的八爪鱼磁力搜索引擎
  • 专业网站制作公司案例狠抓措施落实
  • 做的网站如何放在电脑上外贸营销网站制作公司
  • 设计师导航网站福州seo经理招聘