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

day 38 | ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

518. 零钱兑换 II

这道题就是完全背包问题,因为可以选择的数量是无限的。所以第二层的遍历顺序就是从前往后。
因为是次数问题,递推公式是 += 的,初值应该设定为dp【0】 = 1,否则无法进行累加。

func change(amount int, coins []int) int {dp := make([]int, amount + 1)dp[0] = 1for i := 0; i < len(coins); i++{for j := coins[i]; j <=amount; j++{dp[j] += dp[j - coins[i]]}}return dp[amount]
}

377. 组合总和 Ⅳ

由于是组合问题,所以前后两个循环的顺序是相反的
由于是求次数,所以dp【0】 = 1
由于是次数,所以递推公式是 +=
在这里插入图片描述

func combinationSum4(nums []int, target int) int {dp := make([]int, target + 1)dp[0] = 1for i := 0; i <= target; i++{for j := 0; j < len(nums); j++{if i - nums[j] >= 0{dp[i] += dp[i - nums[j]]}}}return dp[target]
}
http://www.lryc.cn/news/137116.html

相关文章:

  • 写得了代码,焊得了板!嵌入式开发工程师必修之代码管理方案(中)
  • Interlij IDEA 运行 ruoyi 后端项目。错误: 找不到或无法加载主类 com.ruoyi.auth.RuoYiAuthApplication
  • 相机设置报错记录
  • Vue3中搜索表单的二次封装
  • 百度23Q2财报最新发布:营收利润加速增长,AI+生态战略渐显规模
  • 一个pdf文件分割成两个
  • Android 保存图片
  • Android相机-架构
  • 从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值
  • 如何在Linux系统中处理PDF文件?
  • SpringBoot实现热部署/加载
  • 我是如何使用Spring Retry减少1000 行代码
  • ARM开发(stm32 cortex-A7核IIC实验)
  • 「Java」《Java集合框架详解:掌握常用集合类,提升开发效率》
  • 游戏出海需知:Admob游戏广告变现策略
  • 【linux】NFS调试总结
  • wireshark进行网络监听
  • 时间复杂度
  • Unity实现广告滚动播放、循环播放、鼠标切换的效果
  • LangChain + Streamlit + Llama:将对话式AI引入本地机器
  • Python 读写 Excel 文件库推荐和使用教程
  • “深入解析JVM:理解Java虚拟机的工作原理和优化技巧“
  • 解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题
  • Oracle-day1:scott用户、查询、取整、截取、模糊查询、别名——23/8/23
  • stm32之3.key开关
  • GPT带我学-设计模式-代理模式
  • VMware Workstation Pro 无法使用开机状态下拍的快照来克隆虚拟机,怎么解决?
  • 【JAVA】XML及其解析技术、XML检索技术、设计模式
  • Ansible 自动化安装软件
  • 简单介绍 React Native 整合 Formik 实现表单校验