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

力扣——322. 零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

你可以认为每种硬币的数量是无限的。

示例 1:

输入:coins = [1, 2, 5], amount = 11
输出:3 
解释:11 = 5 + 5 + 1

示例 2:

输入:coins = [2], amount = 3
输出:-1

示例 3:

输入:coins = [1], amount = 0
输出:0

提示:

  • 1 <= coins.length <= 12
  • 1 <= coins[i] <= 231 - 1
  • 0 <= amount <= 104

这题还是有点儿难度的,刚开始我想的是直接用回溯来做,虽然代码超时了,但是这里也附上我的代码,以儆效尤~

    void traverse(vector<int>& coins,int amount,long long sum,int temp){if(sum>amount) return;for(int i=0;i<coins.size();i++){sum+=coins[i];temp++;if(sum==amount){minl=min(minl,temp);}traverse(coins,amount,sum,temp);sum-=coins[i];temp--;}}int coinChange(vector<int>& coins, int amount) {if(amount==0)return 0;traverse(coins,amount,0,0);return minl==INT_MAX?-1:minl;}

结果不出意外,出意外额~

看了一下数据量,发现用回溯来做确实不太行,好,果断改策略,改用动态规划~

 int coinChange(vector<int>& coins, int amount){if(coins.size()==0)return -1;vector<int> dp(amount+1,amount+1);dp[0]=0;for(int i=1;i<=amount;i++){for(int j=0;j<coins.size();j++){if(i-coins[j]>=0){dp[i]=min(dp[i],dp[i-coins[j]]+1);}}}return dp[amount]==amount+1?-1:dp[amount];}

运行,ok,过了~

这题用动态规划可能还是有点儿难度,一刚开始我还在想状态方程怎么用在coins数组上,后来借鉴了一下别人的思路,用在amount上可能更容易写一点,好吧,我承认我是垃圾~

看了代码还是存在疑问的宝子可以评论区留言哦,私我也行,我们共同成长~

相关文章:

力扣——322. 零钱兑换

给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

.Net_比对Json文件是否一致

简介 该方法用于比较两个Json文件是否完全一致&#xff0c;仅考虑内容若两个文件中的内容只是顺序不一致&#xff0c;内容是一样的&#xff0c;那么也代表这两个文件是相等的 实现代码 调用 using CompareJsonFiles;Console.WriteLine(" 输入信息 ");Console.WriteL…...

科研笔记:ARR 与 ACL rolling

1 ARR 介绍 ARR 提供 评审服务 —— 仅限评审 —— 对于提交的论文。评审不会针对特定会议/场所&#xff0c;但评审标准与传统会议的主会场长文或短文提交要求相同&#xff08;如 ACL 或其他由 ACL 主办的重要会议&#xff09; 2 提交论文进行 ARR 评审 提交截止日期 每两个…...

【2024】Camunda常用功能基本详细介绍和使用-上 (1)

这里写目录标题 前言一、 介绍基本概念介绍1.BPMN2.Form3.DMN 二、Camunda使用1、下载安装1.1、camunda-modeler&#xff1a;BPMN绘画工具1.2、camunda-bpm-run&#xff1a;web端控制页面 2、创建流程2.1、部署一个基础流程2.2、添加用户任务2.2.1、绑定表单2.2.1.1、Generated…...

用人话讲计算机:Python篇!(十二)正则运算+re模块

目录 一、正则表达式 &#xff08;1&#xff09;什么是正则表达式 &#xff08;2&#xff09;它的结构及使用 示例&#xff1a; 1.字符 . &#xff08;←这里有个小点哦&#xff09; 2.字符 | 3.字符 [ ] 4.字符^ 5.字符\d &#xff08;3&#xff09;补充&#xff…...

使用create-react-app创建工程时报错处理

1&#xff1a;全局安装create-react-app npm install -g create-react-app 2&#xff1a;切换到项目要创建的目录下 cd /d G:\vsCode_project\react 3&#xff1a;使用脚手架命令创建工程 create-react-app 项目名 项目名命名要遵循npm包命名规范&#xff1a;数字、小写字…...

C# 探险之旅:第三十五节 - 类型class之抽象类 (Abstract Class) 和 抽象方法 (Abstract Method)

&#x1f44b; 嗨&#xff0c;勇敢的探险家们&#xff01;欢迎再次踏上C#的神秘之旅。今天&#xff0c;我们要进入一片既神秘又充满无限可能的领域——抽象类与抽象函数的奇幻森林。想象一下&#xff0c;你是一名勇敢的骑士&#xff0c;要在这片森林里寻找传说中的“编程之宝”…...

qt-C++笔记之父类窗口、父类控件、对象树的关系

qt-C笔记之父类窗口、父类控件、对象树的关系 code review! 参考笔记 1.qt-C笔记之父类窗口、父类控件、对象树的关系 2.qt-C笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理 3.qt-C笔记之自定义类继承自 QObject 与 QWidget 及开发方式…...

Cisco Packet Tarcer配置计网实验笔记

文章目录 概要整体架构流程网络设备互连基础拓扑图拓扑说明配置步骤 RIP/OSPF混合路由拓扑图拓扑说明配置步骤 BGP协议拓扑图拓扑说明配置步骤 ACL访问控制拓扑图拓扑说明配置步骤 HSRP冗余网关拓扑图拓扑说明配置步骤 小结 概要 一些环境配置笔记 整体架构流程 网络设备互连…...

使用torch模拟 BMM int8量化计算。

使用torch模型BMM int8计算。 模拟&#xff1a;BMM->softmax->BMM 计算流程 import torch import numpy as np torch.manual_seed(777) def int8_quantize_per_token(x: torch.Tensor, axis: int -1, attnsFalse):if x.dtype ! torch.float32:x x.type(torch.float32)…...

【FreeMarker】实现生成Controller根据模板勾选的内容查询

需求&#xff1a;根据模板列表勾选的字段查询列表数据 FreeMarker代码&#xff1a; /*** 分页列表查询** param ${entityName?uncap_first}* param pageNo* param pageSize* param req* return*///AutoLog(value "${tableVo.ftlDescription}-分页列表查询")ApiOp…...

深入理解 XPath:XML 和 HTML 文档的利器

XPath&#xff08;XML Path Language&#xff09;是一种用于在 XML 和 HTML 文档中定位节点的语言。它常用于 XML 解析、Web 数据抓取&#xff08;如 Selenium 或 Scrapy&#xff09;以及配置文件解析。本文将带你深入了解 XPath 的语法、功能及其在实际中的应用。 目录 一、什…...

DDR5 中的数据反馈判决均衡(DFE):全面解析与展望

目录 一、引言二、DFE原理三、DFE架构四、实现方案五、测试方法六、DFE效果七、成本与收益八、具体应用九、技术发展趋势十、参考文献 一、引言 DDR5 作为新一代内存标准&#xff0c;其中的数据反馈判决均衡&#xff08;DFE&#xff09;技术更是引人注目。DFE即判决反馈均衡&a…...

Axure高保真数据可视化大屏图表组件库

推出了一款高保真数据可视化大屏图表组件库&#xff0c;旨在为用户提供丰富的图表类型&#xff0c;使数据呈现更加直观、生动。本文将详细介绍该组件库中的各类图表元件&#xff0c;包括面积图、折线图、柱状图、条形图、圆环图、雷达图、仪表图以及综合类图表&#xff0c;以满…...

100个问题学 langchain 入门 (1/10)

100个问题学 langchain 入门 (1/10) 文章目录 100个问题学 langchain 入门 (1/10)前言**问题 1** 什么是 langchain&#xff0c;解决什么问题&#xff1f;**问题 2** LangChain 的核心组件有哪些&#xff1f;请列举并简要说明每个组件的作用。**问题 3** 在 LangChain 中&#…...

0001.基于springmvc简易酒店管理系统后台

一.系统架构 springmvcjsplayuimysql 二.功能特性 简单易学习&#xff0c;虽然版本比较老但是部署方便&#xff0c;tomcat环境即可启用&#xff1b;代码简洁&#xff0c;前后端代码提供可统一学习&#xff1b;祝愿您能成尽快为一位合格的程序员&#xff0c;愿世界没有BUG; …...

每日一题 326. 3 的幂

326. 3 的幂 简单 class Solution { public:bool isPowerOfThree(int n) {while(n > 3){if(n % 3 0){n n/3;}else{return false;}}return n 1;} };...

解码数据有序之道——常见排序算法总结

本文整理了常见的排序算法&#xff0c;采用c编码&#xff0c;并对其时间复杂度作以了分析。 1. 冒泡排序&#xff08;Bubble Sort&#xff09; 实现思路&#xff1a; 从数组的第一个元素开始&#xff0c;依次比较相邻的两个元素。如果当前元素大于下一个元素&#xff0c;则交…...

C语言实现图片文件的复制

在C语言中&#xff0c;直接处理图片文件&#xff08;如JPEG、PNG等&#xff09;的复制&#xff0c;通常涉及到文件I/O操作。这些图片文件是二进制文件&#xff0c;因此需要使用二进制模式读取和写入文件。 图片文件复制代码&#xff1a; #include <stdio.h> #include&l…...

一、windows上配置ninja环境

Ninja是Google的一名程序员推出的注重速度的构建工具&#xff0c;一般在Unix/Linux上的程序通过make/makefile来构建编译&#xff0c;而Ninja通过将编译任务并行组织&#xff0c;大大提高了构建速度。下面介绍了windows上配置Ninja环境。 1.下载Ninja ninja官网地址&#xff1…...

OpenClaw备份自动化:Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF智能分类归档云端文件

OpenClaw备份自动化&#xff1a;Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF智能分类归档云端文件 1. 为什么需要智能文件归档 我的电脑桌面常年堆积着各种临时下载的PDF、会议记录、代码片段和截图。每次想找特定文件时&#xff0c;要么靠记忆模糊搜索&#xff0c;要么…...

Qwen3.5-2B轻量化多模态模型Python入门实战:零基础快速上手AI开发

Qwen3.5-2B轻量化多模态模型Python入门实战&#xff1a;零基础快速上手AI开发 1. 开篇&#xff1a;为什么选择Qwen3.5-2B入门AI开发 如果你刚接触AI开发&#xff0c;可能会被各种复杂的模型和术语吓到。Qwen3.5-2B是个不错的起点——它足够轻量&#xff0c;能在普通GPU上运行…...

MiniCPM-o-4.5-nvidia-FlagOS企业级方案:高可用服务器集群部署指南

MiniCPM-o-4.5-nvidia-FlagOS企业级方案&#xff1a;高可用服务器集群部署指南 1. 引言&#xff1a;当AI应用走向规模化 想象一下这个场景&#xff1a;你的团队基于MiniCPM-o-4.5-nvidia-FlagOS开发了一款智能客服应用&#xff0c;上线初期反响不错。但随着用户量激增&#x…...

24小时无人值守:OpenClaw+Phi-3-vision-128k-instruct自动化监控系统

24小时无人值守&#xff1a;OpenClawPhi-3-vision-128k-instruct自动化监控系统 1. 为什么需要自动化监控系统 去年我负责一个内部数据看板项目时&#xff0c;经常遇到凌晨突发故障却无人值守的情况。直到第二天上班才发现问题&#xff0c;损失了宝贵的响应时间。传统监控工具…...

PyJWT与云原生应用集成的终极指南:如何构建安全的微服务架构

PyJWT与云原生应用集成的终极指南&#xff1a;如何构建安全的微服务架构 【免费下载链接】pyjwt JSON Web Token implementation in Python 项目地址: https://gitcode.com/gh_mirrors/py/pyjwt PyJWT&#xff08;Python JSON Web Token&#xff09;是一个功能强大且易于…...

Nunchaku FLUX.1-dev部署教程:Linux系统下CUDA驱动与PyTorch匹配指南

Nunchaku FLUX.1-dev部署教程&#xff1a;Linux系统下CUDA驱动与PyTorch匹配指南 想用最新的Nunchaku FLUX.1-dev模型生成惊艳的AI图片&#xff0c;结果卡在了环境配置上&#xff1f;别担心&#xff0c;这篇教程就是为你准备的。很多朋友在部署时遇到的最大障碍&#xff0c;往…...

域名 WHOIS 信息对于 SEO 优化有什么作用

域名 WHOIS 信息对于 SEO 优化有什么作用 在当今互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为了每个网站运营者必须掌握的技能之一。其中&#xff0c;域名 WHOIS 信息也扮演了一定的角色。许多人可能对这一点并不十分了解&#xff0c;本文将详细探…...

多源数据驱动的农害预测模型

基于多源数据与集成学习的农作物病虫害预测及防控优化模型 标签&#xff1a;农业AI 机器学习 XGBoost LSTM Stacking SHAP 遗传算法 风险建模 一、整体技术路线概览 我们构建了一个五层递进式智能决策系统&#xff0c;从原始数据到最终可解释的防控建议&#xff0c;层层…...

LibreCAD完全指南:零成本实现专业级2D设计的开源解决方案

LibreCAD完全指南&#xff1a;零成本实现专业级2D设计的开源解决方案 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C17. It can read DXF/DWG files and can write DXF/PDF/SVG files. It supports point/line/circle/ellipse/parabola/…...

OpenClaw浏览器插件开发:Qwen3-14b_int4_awq增强网页交互能力

OpenClaw浏览器插件开发&#xff1a;Qwen3-14b_int4_awq增强网页交互能力 1. 为什么需要浏览器插件与OpenClaw结合 作为一个长期与浏览器打交道的开发者&#xff0c;我经常遇到需要批量处理网页数据的场景。传统做法是写一堆油猴脚本或手动复制粘贴&#xff0c;直到发现OpenC…...