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

js.零钱兑换

链接:322. 零钱兑换 - 力扣(LeetCode)

题目:

给你一个整数数组 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

思路:

我使用的是广搜的方式,使用栈结构,这样其实是比较慢的,但是还是做出来了。

代码:

/*** @param {number[]} coins* @param {number} amount* @return {number}*/var coinChange = function(coins, amount) {if(amount == 0) return 0let num = [...coins] , set = new Set([...num]) , count = 1while(num.length!=0){let n = num.lengthfor(let i = 0 ; i < n ; i++ ){// 用count代表层数if(num[0]==amount) return count//将num[0]与coins中每个数相加,将不重复的入栈coins.forEach(function(value, index, array){let item = value + num[0]//用set解决去重问题//一定要加上item<=amount条件,不然会变成死循环if(!set.has(item)&&item<=amount){set.add(item)num.push(item)}})// 将第一个元素移除num.shift()}count++}return -1};

相关文章:

js.零钱兑换

链接&#xff1a;322. 零钱兑换 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何…...

GitHub 上的开源项目推荐

GitHub 上的开源项目有成千上万&#xff0c;涵盖了从前端框架到数据科学、机器学习、系统工具等各个领域。不同的人根据兴趣和需求&#xff0c;可能会有不同的排名。不过&#xff0c;一些开源项目因为其广泛的应用、社区支持和技术创新&#xff0c;通常被认为是“最好”的开源项…...

实现Reactor反应堆模型:框架搭建

实现Reactor反应堆模型&#xff1a;框架搭建 Reactor模型是一种常用于处理大量并发I/O操作的设计模式&#xff0c;特别适用于服务器端的网络编程。该模型通过事件驱动的方式&#xff0c;将I/O操作的处理与具体的业务逻辑分离&#xff0c;从而提高系统的并发处理能力和响应速度…...

UE5 样条线组件(未完待续)

按点生成模型 按距离生成 spline mesh 可缩放spline mesh...

计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议

文章目录 一、TCP/IP五层模型&#xff08;重要&#xff09;二、应用层常见的协议三、TCP与UDP3.1 TCP、UDP的区别&#xff08;重要&#xff09;3.2 运行于TCP、UDP上的协议3.3 TCP的三次握手、四次挥手3.3.1 TCP的三次握手3.3.2 TCP的四次挥手3.3.3 随机生成序列号的原因 四、T…...

sql速度优化多条合并为一条语句

在 SQL 中&#xff0c;结合 CASE 和 SUM 可以实现根据特定条件进行分组求和。在 ThinkPHP 中也可以使用类似的方式进行数据库查询操作。 例如&#xff0c;假设有一个销售数据表&#xff0c;包含字段 product_id &#xff08;产品 ID&#xff09;、 quantity &#xff08;销…...

用 PHP或Python加密字符串,用iOS解密

可以使用对称加密算法&#xff08;如 AES&#xff09;来加密和解密字符串。对称加密适合这种跨平台加密解密的需求&#xff0c;因为可以使用相同的密钥和算法在不同的编程语言和系统之间进行加密和解密。 下面展示如何使用 Python 或 PHP 进行加密&#xff0c;然后用 iOS (Swi…...

docker容器启动报错error creating overlay mount to /var/lib/docker/overlay2解决办法

背景&#xff1a;客户提供的机器用于部署服务&#xff0c;拿到发现docker是部署好的&#xff0c;但是selinux没有关闭&#xff0c;于是将/etc/selinux/config中的selinux设置成了disabled&#xff0c;但是并未重启&#xff0c;就继续部署服务了&#xff1b;结果几天后客户重启服…...

人工智能在智能家居中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 人工智能在智能家居中的应用 人工智能在智能家居中的应用 人工智能在智能家居中的应用 引言 人工智能概述 定义与原理 发展历程 …...

MySQL数据库备份与恢复:全面深入指南

在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。数据库作为存储和管理这些数据的核心系统&#xff0c;其安全性和稳定性至关重要。MySQL&#xff0c;作为一款广泛使用的开源关系型数据库管理系统&#xff0c;因其高性能、高可靠性和易用性而受到众多企业和开发者的青…...

前端请求后端php接口跨域 cors问题

只需要后端在网站的入口文件 一般都是 index.php 加上 这几行代码就可以了 具体的参数可以根据需要去修改 header("Access-Control-Allow-Origin: *"); header(Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS); header(Access-Control-Allow-Heade…...

【软件工程】ATAM架构权衡评估方法

ATAM架构权衡评估方法 概述质量属性有哪些&#xff1f;质量属性的效用树怎么构建&#xff1f;如何确定质量属性的优先级&#xff1f; 概述 ATAM&#xff08;Architecture Tradeoff Analysis Method&#xff09;是一种系统架构评估方法&#xff0c;由卡梅隆大学软件工程协会提出…...

MFC 重写了listControl类(类名为A),并把双击事件的处理函数定义在A中,主窗口如何接收表格是否被双击

刚接触MFC遇到的问题&#xff0c;我在主对话框的.cpp里添加了表格的双击处理事件&#xff0c;但是没用&#xff0c;试了下添加单击的&#xff0c;发现居然可以进单击的处理函数&#xff0c;就很懵逼&#xff0c;然后我就把处理双击事件的函数添加到表格的类中&#xff0c;那这样…...

c和cpp的异常处理

### 课堂讨论 **老师**&#xff1a;今天我们来深入探讨一下C的异常处理机制。想象一下&#xff0c;我们正在玩一场探险游戏。你会遇到一些意外情况&#xff0c;比如掉进陷阱。这就像我们的程序在运行中遇到错误。我们该怎么处理呢&#xff1f;&#x1f914; **学生**&#xf…...

monkey-安卓稳定性测试

一、adb执行命令 1.monkey随机事件指令&#xff1a; adb shell monkey -p com.tytu.enter --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v --throttle 300 -s 121212 --pct-syskeys 0 --pct-anyevent 0 --pct-touch 100 --pct-motion 0 100000 2&…...

【贪心算法】贪心算法三

贪心算法三 1.买卖股票的最佳时机2.买卖股票的最佳时机 II3.K 次取反后最大化的数组和4.按身高排序5.优势洗牌&#xff08;田忌赛马&#xff09; 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#…...

LeetCode 40-组合总数Ⅱ

题目链接&#xff1a;LeetCode40 欢迎留言交流&#xff0c;每天都会回消息。 class Solution {List<List<Integer>> rs new ArrayList<>();LinkedList<Integer> path new LinkedList<>();public List<List<Integer>> combinatio…...

STM32WB55RG开发(1)----开发板测试

STM32WB55RG开发----1.开发板测试 概述硬件准备视频教学样品申请源码下载产品特性参考程序生成STM32CUBEMX串口配置LED配置堆栈设置串口重定向主循环演示 概述 STM32WB55 & SENSOR是一款基于STM32WB55系列微控制器的评估套件。该套件采用先进的无线通信技术&#xff0c;支…...

误删分区数据恢复全攻略

一、误删分区现象描述 在日常使用电脑的过程中&#xff0c;我们可能会遇到一种令人头疼的情况——误删分区。这通常发生在用户对磁盘管理操作不当&#xff0c;或者在进行系统重装、分区调整时不慎删除了重要分区。误删分区后&#xff0c;原本存储在该分区的数据将无法直接访问…...

《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析

本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 我们定义一颗树的复杂度 Ω Ω Ω&#xff0c;它由两部分组成&#xff1a; 叶子结点的数量&#xff1b;叶子结点权重向量的 L 2 L2 L2范数&#xff1b; 公式(…...

昇思大模型平台打卡体验活动:项目4基于MindSpore实现Roberta模型Prompt Tuning

基于MindNLP的Roberta模型Prompt Tuning 本文档介绍了如何基于MindNLP进行Roberta模型的Prompt Tuning&#xff0c;主要用于GLUE基准数据集的微调。本文提供了完整的代码示例以及详细的步骤说明&#xff0c;便于理解和复现实验。 环境配置 在运行此代码前&#xff0c;请确保…...

hadoop 3.x 伪分布式搭建

hadoop 伪分布式搭建 环境 CentOS 7jdk 1.8hadoop 3.3.6 1. 准备 准备环境所需包上传所有压缩包到服务器 2. 安装jdk # 解压jdk到/usr/local目录下 tar -xvf jdk-8u431-linux-x64.tar.gz -C /usr/local先不着急配置java环境变量&#xff0c;后面和hadoop一起配置 3. 安装had…...

springboot 整合mybatis

一&#xff0c;引入MyBatis起步依赖 <!--mybatis依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.0</version></dependency> 二&a…...

餐饮门店收银系统源码、php收银系统源码

1. 系统开发语言 核心开发语言: PHP、HTML5、Dart后台接口: PHP7.3后台管理网站: HTML5vue2.0element-uicssjs线下收银台&#xff08;安卓/PC收银、安卓自助收银&#xff09;: Dart3框架&#xff1a;Flutter 3.19.6移动店务助手: uniapp线上商城: uniapp 2.系统概况及适用行业…...

canal1.1.7使用canal-adapter进行mysql同步数据

重要的事情说前面&#xff0c;canal1.1.8需要jdk11以上&#xff0c;大家自行选择&#xff0c;我这由于项目原因只能使用1.1.7兼容版的 文章参考地址&#xff1a; canal 使用详解_canal使用-CSDN博客 使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步_mysql更…...

揭秘文心一言,智能助手新体验

一、产品描述 文心一言是一款集先进人工智能技术与自然语言处理能力于一体的智能助手软件。它采用了深度学习算法和大规模语料库训练&#xff0c;具备强大的语义理解和生成能力。通过简洁直观的用户界面&#xff0c;文心一言能够与用户进行流畅的对话交流&#xff0c;理解用户…...

良心无广,这5款才是你电脑上该装的神仙软件,很多人都不知道

图吧工具箱 这是一款完全纯净的硬件检测工具包&#xff0c;体积小巧不足0.5MB&#xff0c;却全面整合了CPU、硬盘、内存、显卡等电脑大神常用的检测工具与压力测试软件。 还特别为游戏爱好者们准备了直达平台官网的链接以及Directx修复工具&#xff0c;而且全部免费哦&#xf…...

Scala图书馆创建图书信息

图书馆书籍管理系统相关的练习。内容要求&#xff1a; 1.创建一个可变 Set&#xff0c;用于存储图书馆中的书籍信息&#xff08;假设书籍信息用字符串表示&#xff0c;如 “Java 编程思想”“Scala 实战” 等&#xff09;&#xff0c;初始化为包含几本你喜欢的书籍。 2.添加两本…...

【Python】深入理解Python中的单例模式:用元类、装饰器和模块实现高效的单例设计

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 单例模式是一种重要的设计模式,旨在确保一个类的实例在整个应用程序中仅存在一个。Python作为一种动态语言,为实现单例模式提供了多种方式…...

Flutter 小技巧之 Shader 实现酷炫的粒子动画

在之前的《不一样的思路实现炫酷 3D 翻页折叠动画》我们其实介绍过&#xff1a;如何使用 Shader 去实现一个 3D 的翻页效果&#xff0c;具体就是使用 Flutter 在 3.7 开始提供 Fragment Shader API &#xff0c;因为每个像素都会过 Fragment Shader &#xff0c;所以我们可以通…...

网站设计大公司/西安网站优化培训

本质上&#xff0c;webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时&#xff0c;它会递归地构建一个依赖关系图(dependency graph)&#xff0c;其中包含应用程序需要的每个模块&#xff0c;然后将所有这些模块打包成一个或…...

跨境电商购物网站/如何快速推广网上国网

Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载&#xff0c;缓存&#xff0c;展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使…...

甘肃省建设厅执业注册中心网站/国际域名注册网站

原文来源&#xff1a;MySQL 5.5 Reference Manual 部分翻译取自&#xff1a;《MySQL_5.1中文参考手册》 转载请注明原文链接http://www.cnblogs.com/lenagt/archive/2012/06/06/2538201.html 谢谢。 ------------------------------------------------------------------------…...

阳泉企业网站建设公司/直播网站排名

架构设计学习思维导图: 架构设计系列主要的ADM(架构开发方法)主要基于TOGAF9或者TOGAF9.1来论述。这是个人学习实践和总结笔记,专注并不断积累和更新,努力精进自己。个人拙见,仅供参考。1、 架构概述:了解架构基础知识:架构定义、分类、级别、应用架构演进、架构是否合理…...

360度网站模板/北京搜索引擎优化管理专员

我有大约10GB的pcap数据和IPv6流量,用于分析存储在IPv6头和其他扩展头中的信息.为此,我决定使用Scapy框架.我尝试了rdpcap函数,但是对于如此大的文件,不建议这样做.它试图将所有文件加载到内存中并卡在我的情况下.我在网上发现在这种情况下建议使用嗅探器,我的代码如下所示&…...

dw做的网站怎么让别人看到/seo推广教程seo高级教程

NPM版本问题报错的解决方案 在安装项目依赖时&#xff0c;很大可能会遇到安装不成功的问题&#xff0c;其中有一个很大的原因&#xff0c;可能就是因为你的npm版本导致的。 1.npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree 2.ERESOLVE unabl…...