OJ刷题---【算法课动态规划] 换硬币(C++完整代码)

2023-11-19

题目:

给定面值分别为2,5,7的硬币,每种硬币有无限个,给定一个N,求组成N最少需要的硬币的数量,若无法组成则返回-1.

输入:

输入N (1<=N<=100)

输出:

输出需要的最少硬币个数。

完整代码(C++):

#include<iostream>
#include<vector>
using namespace std;

class Solution {
public:
	int coinchange(vector<int>& coins, int amount) {
		vector<int> dp(amount+1,amount+1);
		dp[0] = 0;
		for (int i = 1; i < dp.size(); i++)
			for (int j = 0; j < coins.size(); j++)
			{
					if (i - coins[j] < 0) continue;
					dp[i] = min(dp[i], 1 + dp[i - coins[j]]);
			}
			return (dp[amount] == amount + 1) ? -1 : dp[amount];
	}
};
int main()
{
	Solution sol;
	vector<int> s = { 2,5,7 };
	int n;
	cin >> n;
	cout << sol.coinchange(s, n)<<endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OJ刷题---【算法课动态规划] 换硬币(C++完整代码) 的相关文章

随机推荐

  • Linux音频之ASOC

    参考 https blog csdn net droidphone article details 7165482 1 ASOC简介 ASoC ALSA System on Chip 是建立在标准ALSA驱动层上 为了更好地支持嵌入式处理器
  • 第八章、Linux 磁盘与文件系统管理

    系统管理员很重要的任务之一就是管理好自己的磁盘文件系统 每个分割槽不可太大也不能太小 太大会造成磁盘容量的浪费 太小则会产生文件无法储存的困扰 此外 我们在前面几章谈到的文件权限与属性中 这些权限与属性分别记录在文件系统的哪个区块内 这就得
  • 贝叶斯网络学习

    状态空间搜索 如果按专业点的说法就是将问题求解过程表现为从初始状态到目标状态寻找这个路径的过程 通俗点说 两点之间求一线路 这两点是求解的开始和问题的结果 而这一线路不一定是直线 可以是曲折的 由于求解问题的过程中分枝有很多 主要是求解过程
  • 神经网络——实现MNIST数据集的手写数字识别

    由于官网下载手写数字的数据集较慢 因此提供便捷下载地址如下 手写数字的数据集MNIST下载 https download csdn net download gaoyu1253401563 10891997 数据集包含如下 一 使用小规模数
  • 超级简单!vue解决前后端跨域问题,看完就会

    在Vue中解决前后端跨域问题 需要通过配置和设置代理来实现 配置 在Vue的config目录下的index js文件中 找到devServer选项 在其中添加如下代码 devServer proxy api target http loca
  • mysql my-innodb-heavy-4g.cnf_my-innodb-heavy-4G.cnf 配置文件

    client 客户端配置 port 3306 mysql连接时默认的端口号 socket tmp mysql sock 用于连接mysql mysqld 服务端配置 port 3306 mysql服务默认监听的端口 socket tmp m
  • window opengl

    接口 https www khronos org registry OpenGL api GL
  • 一文吃透KMP算法

    前提 假设我们在字符串 bacbababaabababca 中 搜寻字符串 abababca 是否存在 KMP算法过程 下面就KMP算法的匹配过程进行阐述 step0 在执行匹配之前 先定义几个概念 前缀集合 后缀集合 部分匹配值 前缀集合
  • 天梯题集——紧急救援(Dijkstra+倒序打印分析)

    Dijkstra算法 用于求单源到其他点的最短路径 紧急救援 该题与 Dijkstra模板题 的不同之处在于该题需要记录更多信息 主要思路从局部最优到整体最优 类似dp的思想 include
  • 函数指针的使用

    函数指针的初始化 调用方式 include
  • .net core 连接mysql_asp.net core 连接mysql

    打开VS 工具 NuGet包管理器 管理解决方案的NuGet程序包 搜索MySql Data并安装 测试连接MySQL的代码 using System using System Collections Generic using Syste
  • python快速编程入门黑马程序员pdf_Python快速编程入门 传智播客 黑马程序员 python编程从入门到实践基础视频教程核心编程爬虫数据分析程序设计机器学习简明书籍...

    传智播客就业系列 从入门到就业 JAVA从入门到精通 套装5本 148 javaweb从入门到精通套装3本 88 Python从入门到实践套装8本 280 php教程全套7本 227 PHP套装5本 165 php全套5本 149 andr
  • uniapp uviewUI 安卓端 无法显示问题

    今天遇到个坑 其他端正常显示 就到安卓端不行 发现是uview的form组件的问题 官方的表单没问题 排错发现是模拟器问题 不支持X86 CPU 换了个模拟器就好了 发个模拟器配置连接https ask dcloud net cn arti
  • vue+vant动态渲染生成form表单生成多个上传插件(页面配置化)

    页面配置化 根据数据库配置 动态生成表单的上传组件 后面有补充表单输入框 单选框 复选框 日期控件 下拉框 picker选择器 以及级联的动态渲染 上传插件动态 从后端读取页面配置的表单信息 渲染到页面 这里是多个上传插件渲染了 依次上传后
  • R语言实现文本情感分析

    在本博客中 我们将介绍如何使用R语言进行文本情感分析 我们将介绍如何处理文本数据 构建模型 训练模型并进行情感预测 这里我们将使用IMDb电影评论数据集进行示例分析 数据准备 首先 我们需要下载并加载IMDb电影评论数据集 可以从这里下载数
  • 域名注册绑定内网穿透项目部署

    文章目录 1 注册域名 2 域名绑定 3 内网穿透 4 项目部署 5 关于tomcat配置的补充 1 注册域名 本次演示以腾讯云注册域名为例 方式如下 百度搜索腾讯云进入官网 或者点击此链接跳转腾讯云 如果没有账号 使用微信或者QQ注册 然
  • 模拟实现通讯录<二>(动态模拟)

    继静态模拟通讯录 实现动态模拟 静态模拟通讯录博客链接 http blog csdn net bitboss article details 51374654 实现一个通讯录 通讯录可以动态存储信息 每个人的信息包括 姓名 性别 年龄 电话
  • TensorFlow CNN 测试CIFAR-10数据集

    1 CIFAR 10 数据集 CIFAR 10数据集是机器学习中的一个通用的用于图像识别的基础数据集 官网链接为 The CIFAR 10 dataset官方教程Convolutional Neural Networks 下载使用的版本是
  • pip下载速度过慢解决方法

    好久没用pip了 速度太慢 参考了一下这篇文章 与github访问太慢类似 在c 用户 你的用户名 目录下面建立一个pip目录 再在其下面建立一个pip ini文件 内容为 global index url https pypi tuna
  • OJ刷题---【算法课动态规划] 换硬币(C++完整代码)

    题目 给定面值分别为2 5 7的硬币 每种硬币有无限个 给定一个N 求组成N最少需要的硬币的数量 若无法组成则返回 1 输入 输入N 1 lt N lt 100 输出 输出需要的最少硬币个数 完整代码 C include