代码随想录训练营二刷第四十七天 | 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
代码随想录训练营二刷第四十七天 | 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
一、70. 爬楼梯 (进阶)
题目链接:https://leetcode.cn/problems/climbing-stairs/
思路:物品是楼梯1和2,背包是n求排列数,背包在外物品在内,递推公式dp[i] += dp[i - j]
class Solution {public int climbStairs(int n) {int[] dp = new int[n+1];dp[0] = 1;for (int i = 0; i <= n; i++) {for (int j = 1; j <= 2; j++) {if (j <= i) {dp[i] += dp[i - j];}}}return dp[n];}
}
二、322. 零钱兑换
题目链接:https://leetcode.cn/problems/coin-change/
思路:求所需物品的最少数量,完全背包,定义dp[i]表示背包容量为i时所需物品的最少数量,递推公式dp[i] = dp[i-j] + 1。自然等于放这个物品的前一个位置加1。如dp[5] = dp[5 - 1] + 1 或者 dp [5 - 2] + 1等等,一定得是这些当中最少的那个。故dp[j] = Math.min(dp[j], dp[j-coins[i]] + 1)。最少数量无关排列或者组合。初始化为最大值,dp[0]=0,另外必须得是dp[j-coins[i]] != max时才能进行递推,如果dp[j-coins[i]] == max说明前一个数就没用,现在当前不能在没使用的基础上进行递推。
class Solution {public int coinChange(int[] coins, int amount) {int[] dp = new int[amount+1];int max = Integer.MAX_VALUE;for (int i = 1; i < dp.length; i++) {dp[i] = max;}for (int i = 0; i < coins.length; i++) {for (int j = coins[i]; j <= amount; j++) {if (dp[j-coins[i]] != max) {dp[j] = Math.min(dp[j], dp[j-coins[i]] + 1);}}}return dp[amount] == max ? -1 : dp[amount];}
}
三、279.完全平方数
题目链接:https://leetcode.cn/problems/perfect-squares/
思路:和上题基本一样,细节在于完全平方数为i*i
class Solution {public int numSquares(int n) {int[] dp = new int[n+1];int max = Integer.MAX_VALUE;for (int i = 1; i < dp.length; i++) {dp[i] = max;}for (int i = 1; i*i <= n; i++) {for (int j = i*i; j <= n; j++) {dp[j] = Math.min(dp[j], dp[j - i*i] + 1);}}return dp[n];}
}
相关文章:
代码随想录训练营二刷第四十七天 | 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
代码随想录训练营二刷第四十七天 | 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数 一、70. 爬楼梯 (进阶) 题目链接:https://leetcode.cn/problems/climbing-stairs/ 思路:物品是楼梯1和2,…...
beego-简单项目写法--后续放到git上
Beego案例-新闻发布系统 1.注册 后台代码和昨天案例代码一致。,所以这里面只写一个注册的业务流程图。 **业务流程图 ** 2.登陆 业务流程图 登陆和注册业务和我们昨天登陆和注册基本一样,所以就不再重复写这个代码 但是我们遇到的问题是如何做代码的迁移&…...
【算法|动态规划No.9】leetcodeLCR 091. 粉刷房子
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...
基于SpringBoot的图书进销存管理系统
目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 图书类型管理 商品退货管理 客户信息管理 图书添加 客户添加 应收金额 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实…...
回归预测 | MATLAB实现PSO-SVR粒子群优化支持向量机回归多输入单输出预测
回归预测 | MATLAB实现PSO-SVR粒子群优化支持向量机回归多输入单输出预测 目录 回归预测 | MATLAB实现PSO-SVR粒子群优化支持向量机回归多输入单输出预测预测效果基本介绍模型描述程序设计预测效果 <...
vue3使用v-model控制子组件进行双向数据绑定
vue2写法: 中父组件调用子组件: <child :isShow.sync"isShow" v-show"isShow"/> 子组件想要消失, 在子组件写: this.$emit("update:isShow",false); 具体代码就不粘贴了 vue3写法: 父组件核心代码: v-model:a"xxx" 子组…...
.netCore .net5,6,7 存日志文件
如果你使用 .netCore及以上版本(.net5,.net6,.net7)... 系统默认自带日志中间件(log4net) 对,就是上次java 日志大漏洞的兄弟....... 控制台自动打印日志就是它的功劳 现在我们想存日志文件,怎么办 很简单. 1.在项目中添加日志配置文件 文件名 : log4net.config 不能…...
【数据结构---排序】很详细的哦
本篇文章介绍数据结构中的几种排序哦~ 文章目录 前言一、排序是什么?二、排序的分类 1.直接插入排序2.希尔排序3.选择排序4.冒泡排序5.快速排序6.归并排序总结 前言 排序在我们的生活当中无处不在,当然,它在计算机程序当中也是一种很重要的操…...
GitHub爬虫项目详解
前言 闲来无事浏览GitHub的时候,看到一个仓库,里边列举了Java的优秀开源项目列表,包括说明、仓库地址等,还是很具有学习意义的。但是大家也知道,国内访问GitHub的时候,经常存在访问超时的问题,…...
辅助驾驶功能开发-功能对标篇(7)-NOA领航辅助系统-上汽荣威
1.横向对标参数 厂商上汽荣威车型荣威RX5(燃油车)上市时间2022Q3方案10V3R摄像头前视摄像头1*(8M)侧视摄像头4后视摄像头1环视摄像头4DMS摄像头1雷达毫米波雷达34D毫米波雷达/超声波雷达12激光雷达/域控供应商1*(宏景智驾)辅助驾驶软件供应商地平线高精度地图中海庭芯片J3合作…...
第0次 序言
突然想起有好多书没有看,或者看了也没留下任何记录,以后有空必须得好好整理才行,这次就从《Linux命令行和shell脚本编程大全开始》 本文完全是闲聊,自娱自乐,我觉得做开发是一件很快乐的事情,但是工作是开发…...
ESP32设备驱动-OLED显示单个或多个DS18B20传感器数据
OLED显示单个或多个DS18B20传感器数据 文章目录 OLED显示单个或多个DS18B20传感器数据1、DS18B20介绍2、硬件准备3、软件准备4、代码实现4.1 读取单个DS18B20数据4.2 驱动多个DS18B20传感器4.3 OLED显示DS18B20数据在本文中,我们将介绍如何ESP32驱动单个或多个DS18B20传感器,…...
MongoDB快速上手
文章目录 1、mongodb相关概念1.1、业务应用场景1.2、MongoDB简介1.3、体系结构1.3.1 数据库 (databases) 管理语法1.3.2 集合 (collection) 管理语法 1.4、数据模型1.5、MongoDB的特点 2、单机部署3、基本常用命令3.1、案例需求3.2、数据库操作3.2.1 选择和创建数据库3.2.2 数据…...
maven 初学
1. maven 安装 配置安装 路径 maven 下载位置: D:\software\apache-maven-3.8.6 默认仓库位置: C:\Users\star-dream\.m2\repository 【已更改】 本地仓库设置为:D:\software\apache-maven-3.8.6\.m2\repository 镜像已更改为阿里云中央镜像仓库 <mirrors>…...
解决WPF+Avalonia在openKylin系统下默认字体问题
一、openKylin简介 openKylin(开放麒麟) 社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作ÿ…...
智能合约漏洞,Dyna 事件分析
智能合约漏洞,Dyna 事件分析 1. 漏洞简介 https://twitter.com/BlockSecTeam/status/1628319536117153794 https://twitter.com/BeosinAlert/status/1628301635834486784 2. 相关地址或交易 攻击交易 1: https://bscscan.com/tx/0x7fa89d869fd1b89e…...
Elasticsearch基础篇(四):Elasticsearch7.x的官方文档学习(Set up Elasticsearch)
Set up Elasticsearch 1 Configuring Elasticsearch(配置 Elasticsearch)1.1 Setting JVM Options(设置JVM选项)1.2 Secure Settings(安全设置)Introduction(介绍)Using the Keystore(使用密钥库)Applying Changes(应用更改)Reloadable Secure Settings(可重新加载的安全设置)R…...
二叉树的遍历方式和代码
二叉树的三种遍历和代码 1.前序遍历2.中序遍历3.后序遍历4.三种遍历方式的代码实现 1.前序遍历 学习二叉树结构,最简单的方式就是遍历。所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具…...
小样本学习——匹配网络
目录 匹配网络 (1)简单介绍: (2)专业术语 (3)主要思想 (4)训练过程 问题 回答 MANN 匹配网络 (1)简单介绍: Matching netwo…...
CSS 常用样式 之字体属性
font-weight(字体粗细) 字体粗细用于设置文本的粗细程度,可以使用如下的值: normal:正常字体(默认)bold:加粗字体bolder:更加加粗lighter:更加细 代码实例…...
从登录到支付:手把手教你用RSA签名验签保护Spring Boot API接口安全
从登录到支付:Spring Boot API接口的RSA签名验签实战指南 在数字化业务高速发展的今天,API接口安全已成为系统设计的核心议题。想象这样一个场景:用户通过移动端提交登录请求,黑客在传输过程中篡改了密码字段;或是支付…...
半导体行业成本管理:从学习曲线到EDA工具链的实战策略
1. 行业成本与价格压力的永恒博弈在半导体这个行当里干了十几年,我越来越觉得,我们这行最核心的生存法则,不是什么高深莫测的量子物理,而是一个看似简单、实则残酷的算术题:一边是不断上涨的原材料、设备和设计成本&am…...
利用OpenClaw与gws CLI构建AI Agent的Google Workspace自动化技能
1. 项目概述与核心价值最近在折腾AI智能体(AI Agent)的自动化工作流,发现一个痛点:想让Agent帮我处理Gmail邮件、整理Google Drive文件或者安排Calendar日程,往往需要自己写一堆API集成代码,不仅麻烦&#…...
ViGEmBus虚拟手柄驱动完全指南:Windows游戏手柄兼容性终极解决方案
ViGEmBus虚拟手柄驱动完全指南:Windows游戏手柄兼容性终极解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否厌倦了在Windows上使用…...
Fish-Speech开源语音合成:从VITS原理到中文TTS实战部署
1. 项目概述:当AI遇见声音,一个开源的语音合成新选择最近在语音合成这个圈子里,一个名为 Fish-Speech 的项目开始引起不少开发者和研究者的注意。简单来说,Fish-Speech 是一个开源的、基于深度学习的文本到语音(TTS&am…...
如何快速掌握FunClip:阿里开源AI视频剪辑的完整指南
如何快速掌握FunClip:阿里开源AI视频剪辑的完整指南 【免费下载链接】FunClip Open-source, accurate and easy-to-use video speech recognition & clipping tool, LLM based AI clipping intergrated. 项目地址: https://gitcode.com/GitHub_Trending/fu/Fu…...
显色指数 Ra、R9 数值原理:武汉家用照明色彩还原工程解析
在家装照明设计中,很多业主选灯只关注瓦数、色温,却忽略了显色指数这一核心工程参数。同一套家具、墙面、软装,在不同灯具照射下色彩差异巨大,出现发灰、偏色、质感廉价等问题,核心原因就是光源显色指数不达标。本文结…...
探索分叉网络:构建替代规范,明确多项目标以避现有网络弊端
引言本文档是一系列关于构建替代网络规范的非正式笔记,旨在避开现有网络的诸多弊端,同时保留其优点。需注意,这不是正式规范,内容可能随时间改变。网络由多个组件组成,每个组件或许都要重新审视。目前,我们…...
Noto字体库完整指南:如何为全球项目选择完美字体解决方案
Noto字体库完整指南:如何为全球项目选择完美字体解决方案 【免费下载链接】noto-fonts Noto fonts, except for CJK and emoji 项目地址: https://gitcode.com/gh_mirrors/no/noto-fonts 当你开发面向全球用户的应用或网站时,是否曾遇到过这样的…...
GitHubCopilot与Gemini3.1Pro协同开发实战
在 2026 年,AI 编程工具的差异已经从“谁能写代码”转向“谁能把代码写对、写稳、写得可维护”。很多团队开始采用“双引擎协作”:GitHub Copilot 负责快速生成与代码补全,而 Gemini 3.1 Pro 负责更强的推理、架构级建议、测试策略与长上下文…...
