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

【算法日志】动态规划刷题:完全背包应用问题(day39)

代码随想录刷题60Day


目录

前言

零钱兑换

 完全平方数


前言

今天重点是对完全背包问题进一步了解,难度不大,重点是区分与其他背包问题在初始和遍历上的一些细节。


零钱兑换

int coinChange(vector<int>& coins, int amount) {if (!amount)return 0;const int size = coins.size();vector<int> dp(amount + 1, 0);sort(coins.begin(), coins.end());if (amount < coins[0])return -1;for (int i = 1; i <= amount; ++i){for (int j = size - 1; j >= 0; --j){if (i >= coins[j] && (!(i - coins[j]) || dp[i - coins[j]])){if (dp[i])dp[i] = min(dp[i], dp[i - coins[j]] + 1);elsedp[i] = dp[i - coins[j]] + 1;} }}if (dp[amount])return dp[amount];return -1;}

 完全平方数

	int numSquares(int n) {vector<int> dp(n + 1, 0);for (int i = 1; i <= n; ++i){for (int j = 1; j * j <= i; j++){if (dp[i])dp[i] = min(dp[i], dp[i - j * j] + 1);elsedp[i] = dp[i - j * j] + 1;}}return dp[n];}
http://www.lryc.cn/news/140225.html

相关文章:

  • 基于Python的图书馆大数据可视化分析系统设计与实现【源码+论文+演示视频+包运行成功】
  • cmake 交叉编译应用程序:手动设置链接脚本
  • 深入探讨Eureka的三级缓存架构与缓存运行原理
  • leetcode496. 下一个更大元素 I 【单调栈】
  • Fastadmin框架 聚合数字生活抵扣卡系统v2.8.6
  • windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法
  • unity-AI自动导航
  • 使用create-react-app创建react项目
  • 12.串,串的存储结构与模式匹配算法
  • Ribbon:listOfServers ,${variableName:defaultValue}
  • TensorFlow二元-多类-多标签分类示例
  • 【回眸】牛客网刷刷刷!(七)——通信协议之 网络通讯
  • MySQL 安装配置
  • 【0824作业】C++ 拷贝赋值函数、匿名对象、友元、常成员函数和常对象、运算符重载
  • ubuntu 22.04 LTS openai triton 安装
  • Android SDK 上手指南||第七章 Java应用程序编程
  • Vue 框架如何获取数组中的值?
  • 如何成立一家音频芯片/算法设计公司
  • 用docker-compose搭建LNMP
  • JavaScript:基本语法(变量与函数的定义与使用)
  • 树莓派4B上安装Gitlab
  • JVM 之字节码(.class)文件
  • neo4j函数
  • wazuh初探系列一 : wazuh环境配置
  • 【2023】Spring Validation中@NotNull注解、@NotBlank注解介绍以及使用
  • nodejs+vue养老院管理系统 u1yrv
  • 高效PDF校对:释放高质量内容的力量
  • 【Git游戏】提交的技巧
  • SQL注入读写文件
  • stm32之12.如何使用printf打印输出