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

代码随想录算法训练营第三十七天| 52. 携带研究材料 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯(进阶版)

@[TOC](代码随想录算法训练营第三十七天| 52. 携带研究材料 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯(进阶版) )

入营第三十七天
难度:难

  • 计划任务
  • 完成任务

52. 携带研究材料

动态规划五部曲:
1.确定dp数组以及下标含义 dp[i][j]表示从下标[0-i]的物品中选取,每个物品可以选无限次,放进容量为j的背包,价值总和最大
2.确定递推公式 dp[i][j]=Math.max(dp[i-1][j],dp[i][j-weight[i]+value[i])
3.递推数组初始化 第一列:容量为0时,所有物品都是0,第一行:容量大于等于第一件物品的重量时,dp[0][j]=dp[0][j-weight[0])+value[0]
4.确定遍历顺序 可以先物品再容量
5.举例推导递推公式

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int v = scanner.nextInt();int[] weight=new int[n];int[] value =new int[n];for(int i=0;i<n;i++){weight[i]=scanner.nextInt();value[i]=scanner.nextInt();}int[][] dp = new int[n][v+1];for(int i=weight[0];i<=v;i++){dp[0][i]=dp[0][i-weight[0]]+value[0];}for(int i=1;i<n;i++){for(int j=0;j<=v;j++){if(j<weight[i]){dp[i][j]=dp[i-1][j];}else{dp[i][j]=Math.max(dp[i-1][j],dp[i][j-weight[i]]+value[i]);}}}System.out.print(dp[n-1][v]);}
}

518.零钱兑换II

动态规划五部曲:
1.确定dp数组以及下标含义 dp[i][j]表示使用下标为[0-i]的不同类别的硬币能够凑满面值等于j的情况总和
2.确定递推公式 dp[i][j]=dp[i-1][j]+dp[i][j-value[i]]
3.递推数组初始化 第一列为1,第一行当出现整除情况时设置为1
4.确定遍历顺序
5.举例推导递推公式

class Solution {public int change(int amount, int[] coins) {int[][] dp = new int[coins.length][amount+1];for(int i=0;i<coins.length;i++){dp[i][0]=1;}for(int i=coins[0];i<=amount;i++){dp[0][i] += dp[0][i-coins[0]];}for(int i=1;i<coins.length;i++){for(int j=1;j<=amount;j++){if(j<coins[i]){dp[i][j]=dp[i-1][j];}else{dp[i][j]=dp[i-1][j]+dp[i][j-coins[i]];}}}return dp[coins.length-1][amount];}
}

377. 组合总和 Ⅳ

动态规划五部曲:
1.确定dp数组以及下标含义
2.确定递推公式
3.递推数组初始化
4.确定遍历顺序
5.举例推导递推公式

class Solution {public int combinationSum4(int[] nums, int target) {//nums=>物品 target=>容量int[] dp = new int[target+1];dp[0]=1;for(int i=0;i<=target;i++){for(int j=0;j<nums.length;j++){if(i>=nums[j]){dp[i] = dp[i]+dp[i-nums[j]];}}}return dp[target];}
}

70. 爬楼梯(进阶版)

import java.util.Scanner;
public class Main{public static void main(String[] args){int m,n;Scanner scanner = new Scanner(System.in);while(scanner.hasNext()){n = scanner.nextInt();m = scanner.nextInt();int[] dp = new int[n+1];dp[0]=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i>=j){dp[i]+=dp[i-j];}}}System.out.print(dp[n]);}}
}

相关文章:

代码随想录算法训练营第三十七天| 52. 携带研究材料 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯(进阶版)

[TOC](代码随想录算法训练营第三十七天| 52. 携带研究材料 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯(进阶版) ) 入营第三十七天 难度&#xff1a;难 计划任务 完成任务 52. 携带研究材料 动态规划五部曲&#xff1a; 1.确定dp数组以及下标含义 dp[i][j]表示从下标[0-i]的…...

数智化招标采购系统分类及功能亮点

数智化招标采购系统是郑州信源公司运用“互联网”、大数据、人工智能、区块链、物联网等新兴技术&#xff0c;结合供应链管理理念&#xff0c;以招标采购为核心&#xff0c;提供交易、管理、数据、服务、监管为一体的高标准采购管理平台&#xff0c;赋能政企用户实现采购业务全…...

CSS appearance 属性:掌握UI元素的原生外观

在现代网页设计中&#xff0c;为了达到一致的用户体验&#xff0c;我们有时需要让HTML元素模仿操作系统的默认控件样式。CSS中的appearance属性提供了一种简便的方式来控制这些元素是否以及如何显示其默认外观。本文将详细介绍appearance属性&#xff0c;并通过实际代码示例来展…...

【JavaScript】二十四、JS的执行机制事件循环 + location + navigator + history

文章目录 1、JS执行机制&#xff08;事件循环eventloop&#xff09;2、BOM的window3、location对象3.1 href属性3.2 search属性3.3 hash属性3.4 reload方法 4、navigator对象5、history对象 1、JS执行机制&#xff08;事件循环eventloop&#xff09; 以下&#xff0c;两段代码…...

CSS核心笔记002

margin塌陷问题 第一个子元素的上margin会作用在父元素上, 最后一个子元素的下margin会作用在父元素上解决 1. 给父元素设置 不为0的pandding 2. 给父元素设置宽度不为0 的border 3. 给父元素设置样式 overflow:hiddenmargin合并问题 兄弟元素的下外margin和会下面兄弟的上…...

前端路由缓存实现

场景&#xff1a;以一体化为例&#xff1a;目前页面涉及页签和大量菜单路由&#xff0c;用户想要实现页面缓存&#xff0c;即列表页、详情页甚至是编辑弹框页都要实现数据缓存。 方案&#xff1a;使用router-view的keep-alive实现 。 一、实现思路 1.需求梳理 需要缓存模块&…...

加密软件的发展:从古典密码到量子安全

在数字化时代&#xff0c;信息安全已成为个人隐私、商业机密乃至国家安全的重要基石。加密软件作为保护信息安全的核心工具&#xff0c;经历了从简单替换到复杂算法的漫长演变过程。本文将系统梳理加密软件的发展历程&#xff0c;分析当前主流技术&#xff0c;并展望未来趋势。…...

用Zotero + Word 宏,一键插入带超链接的参考文献!

第一步&#xff1a;准备好Zotero Word 确认你已经完成以下准备&#xff1a; ✅ 已安装好 Zotero ✅ 已安装好 Zotero Word 插件&#xff08;一般自动装好了&#xff09; ✅ Word 可以正常插入参考文献 ✅ 已插入好一组参考文献&#xff08;可以先插几个测试&#xff09; …...

Java SpringBoot的自定义配置

一&#xff0c;一个类多个属性的情况 application.properties配置文件写法 my.config.ip127.0.0.1 my.config.port8080自定义配置类&#xff1a;MyTestConfig import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.context.properties…...

Spring Boot 动态热更新 HTTPS 证书的实现与原理

在实际生产环境中&#xff0c;HTTPS 证书定期更新是非常常见的需求。传统方式通常要求重启服务来加载新证书&#xff0c;但在一些高可用系统中&#xff0c;重启服务会造成连接中断和短暂不可用。本篇文章将介绍如何在 Spring Boot 项目中&#xff0c;实现 不重启服务的情况下热…...

天工股份业绩大起大落:2024营收双位数下滑,稳定性或存疑

《港湾商业观察》施子夫 近期&#xff0c;江苏天工科技股份有限公司&#xff08;以下简称&#xff0c;“天工股份”&#xff09;拟公开发行股票并在北京证券交易所上市获得中国证监会同意注册&#xff0c;完成上市审核阶段中最后也是最关键的一步。 值得一提的是&#xff0c;…...

深入浅出 NVIDIA CUDA 架构与并行计算技术

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、CUDA为何重要&#xff1a;并行计算的时代 2、NVIDIA在…...

网安融合:打造网络+安全一体化的超预期体验

近日,2025锐捷网络EBG(中国)核心伙伴大会在苏州圆满落幕。来自全国2000合作伙伴齐聚苏州,共同见证这场盛会的举办。会上,锐捷网络发布了七大战略产品解决方案。其中网络安全产品事业部产品市场总监沈世海发布了“打造网络安全一体化的超预期体验”的主题报告。报告围绕让“让渠…...

通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等

通义灵码新上的外挂 Project Rules 获得了开发者的一致好评&#xff1a;最小成本适配我的开发风格、相当把团队经验沉淀下来&#xff0c;是个很好功能…… 那么有哪些现成的 Rules 可以抄作业呢&#xff0c;今天我们官方输出了 Java、TypeScript、Python、Go、JavaScript 等语…...

3D人脸扫描技术如何让真人“进入“虚拟,虚拟数字人反向“激活“现实?

随着虚拟人技术的飞速发展&#xff0c;超写实数字人已经成为数字娱乐、广告营销和虚拟互动领域的核心趋势。无论是企业家、知名主持人还是明星&#xff0c;数字分身正在以高度还原的形象替代真人参与各类活动&#xff0c;甚至成为品牌代言、直播互动的新宠。 3D人脸扫描&#…...

12孔AG调陶笛音域全解析:从E4到C6的演奏艺术

一、音域范围的精准界定 12孔AG调陶笛的音域范围为E4&#xff08;低音Mi&#xff09;至C6&#xff08;高音Do&#xff09;&#xff0c;横跨13个自然音级&#xff08;即E4-F4-G4-A4-B4-C5-D5-E5-F5-G5-A5-B5-C6&#xff09;。若以半音计算&#xff0c;实际覆盖15个半音&#xf…...

IDEA编译错误Refer to the generated Javadoc files in xxx apidocs dir

文章目录 一、IDEA编译报错 Refer to the generated Javadoc1.1、报错内容1.2、解决办法 一、IDEA编译报错 Refer to the generated Javadoc 1.1、报错内容 Command line was: /opt/jdk1.8.0_181/jre/../bin/javadoc options packagesRefer to the generated Javadoc files i…...

高效培训,借助课程编辑器塑造卓越团队​

&#xff08;一&#xff09;打造沉浸式培训体验​ 在企业人才培养体系里&#xff0c;培训是提升员工能力素质的重要手段&#xff0c;课程编辑器中的 VR 技术为企业培训带来新体验。以机械制造企业为例&#xff0c;以往员工培训靠书面资料、平面图片或简单视频讲解复杂机械设备结…...

Pikachu靶场-CSRF

CSRF (跨站请求伪造) 详细介绍与技术分析 一、什么是 CSRF? CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;&#xff0c;是一种利用已认证用户的身份&#xff0c;诱使该用户执行恶意操作的攻击手段。攻击者通过伪造一个用户请求&#xff0c…...

Flask(3): 在Linux系统上部署项目

1 前言 说实话&#xff0c;我并不想接触linux系统&#xff0c;要记住太多的命令。我更习惯windows系统&#xff0c;鼠标点点&#xff0c;只要记住少量的命令就可以了。 但是我选择了python&#xff0c;就注定无法逃避linux系统。虽然python也能在windows上很好的运行&#xff0…...

React JSX 语法深度解析与最佳实践

本文系统梳理 JSX 语法的完整知识体系。通过原理剖析、代码示例和开发警示&#xff0c;帮助开发者建立严谨的 JSX 使用认知。 一、JSX 本质解析 1.1 编译机制 JSX 通过 Babel 转换为 React.createElement 调用&#xff0c;以下为转换对照&#xff1a; // 原始 JSX <MyCo…...

岚图L3智能架构发布,9大首发新技术引领电动车变革

4月16日&#xff0c;岚图汽车在北京举办了L3级智能架构技术发布会&#xff0c;发布岚图天元智架。 据「TMT星球」了解&#xff0c;天元智架首发青云L3级智能安全行驶平台与鲲鹏L3级智能安全驾驶系统两大核心智能化技术集群&#xff0c;融合多项先进技术与黑科技&#xff0c;推…...

Nginx | Apache 配置 WebSocket 多层代理基本知识(附疑难杂症)

目录 前言1. 问题所示2. 基本知识3. 原理分析3.1 返回2003.2 返回4003.3 返回5004. 彩蛋前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn 1. 问题所示 本地测试可以,上了域名的测试就不行了! WebSocket con…...

山东大学软件学院创新项目实训开发日志(18)之对话自动生成标题设为用户第一次对话发的文字

本次功能的实现主要集中在后端&#xff0c;前端代码不用改变&#xff1a; 前端界面效果展示&#xff1a;...

【web考试系统的设计】

文章目录 一、实验背景与目的二、实验设计与实现思路1. 功能架构2. 核心代码实现 总结 一、实验背景与目的 本次实验旨在深入理解Request、response对象的作用&#xff0c;Request对象的作用是与客户端交互&#xff0c;收集客户端的Form、Cookies、超链接&#xff0c;或者收集…...

【MySQL】库的操作

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Centos7 &#x1f680;所属专栏&#xff1a;MySQL 文章目录 1. 创建一个数据库1.1 创建一个数据库&#xff08;演示 2. 字符集和校验规则2.1 字符集2.2 校验规则2.3 知识补充&#xff1a;&#xff09;…...

Face Swap 1.3.8| 解锁专业版,无限制换脸,视频换脸,释放您的创造力

Face Swap Pro - AI Photo Editor 「换脸 - AI 照片编辑器」释放您的创造力&#xff01;通过换脸 - AI 照片编辑器&#xff0c;将您的想象变为现实&#xff0c;这是在照片和视频中交换人脸的终极应用程序。无论您是想探索不同的造型&#xff0c;穿越到另一个时代&#xff0c;还…...

AUTOSAR图解==>AUTOSAR_SWS_DefaultErrorTracer

AUTOSAR 默认错误追踪器(Default Error Tracer)详细分析 基于AUTOSAR 4.4.0规范的深入解析 目录 概述 DET模块的作用DET模块的定位 架构设计 模块架构接口设计 状态与行为 状态转换错误报告流程 API与数据结构 API概览数据类型定义 配置与扩展 模块配置回调机制 总结 1. 概述 …...

【hadoop】master一键启动hadoop集群(高可用)

之前写了一篇【hadoop】master一键启动zkServer-CSDN博客 现在是最好的安排&#xff1a; 1. cd ~ vim hadoop-all.sh #!/bin/bash# 检查参数是否为 start 或 stop if [ "$1" "start" ]; then# 启动服务sh ~/zk-all.sh startstart-dfs.shstart-yarn.s…...

细说STM32单片机FreeRTOS任务管理API函数及多任务编程的实现方法

目录 一、FreeRTOS任务管理API函数 1、任务管理API函数 2、获取任务的句柄 &#xff08;1&#xff09;函数xTaskGetCurrentTaskHandle() &#xff08;2&#xff09;函数xTaskGetIdleTaskHandle() &#xff08;3&#xff09;函数xTaskGetHandle() 3、单个任务的操作 &a…...

从0开始掌握动态规划

动态规划的核心思想 -- 以空间换时间 复杂点说通过分解问题为子问题并存储子问题解来优化复杂计算的算法策略。 简单看个问题。 一&#xff0c;初始&#xff1a;求最长连续递增子序列 nums [10,9,2,5,3,7,101,18] 求上面数组中的最长连续递增子序列&#xff0c;输出其长度 …...

解锁向量数据库:实现高效过滤与管理的实用方法

1. 带过滤的相似性搜索 大多数向量数据库不仅可以存储向量数据&#xff0c;还支持存储相关元数据。这些元数据可以包括文本原文、扩展信息、页码、文档 ID、作者、创建时间等自定义信息&#xff0c;通常用于实现数据检索。 向量数据库记录 向量(vector)元数据(metadata)id遗…...

数码管LED显示屏矩阵驱动技术详解

1. 矩阵驱动原理 矩阵驱动是LED显示屏常用的一种高效驱动方式&#xff0c;利用COM&#xff08;Common&#xff0c;公共端&#xff09;和SEG&#xff08;Segment&#xff0c;段选&#xff09;线的交叉点控制单个LED的亮灭。相比直接驱动&#xff0c;矩阵驱动可以显著减少所需I/…...

C++模板初阶

1.函数模板 模板是C中一个非常重要的东西&#xff0c;也是下一步学stl的最后一块拼图。那看看最后一块拼图是什么呢&#xff1f;C祖师爷在写C语言时遇到了有个非常难受的地方&#xff1a; 遇到有很多类型变量交换的时候就要写不同的交换函数&#xff0c;再新增类型的交换还要…...

第六章:6.3求一个3*3的整型矩阵对角线元素之和

//求一个3*3的整型矩阵对角线元素之和 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() {int i 0, j 0;int arr[3][3] { 0 };printf("请输入一个3*3的矩阵:\n");for (i 0; i < 3; i){for (j 0; j < 3; j){scanf("%d", …...

Oracle 19c部署之初始化实例(三)

上一篇文章中&#xff0c;我们已经完成了数据库软件安装&#xff0c;接下来我们需要进行实例初始化工作。 一、初始化实例的两种方式 1.1 图形化初始化实例 描述&#xff1a;图形化初始化实例是通过Oracle的Database Configuration Assistant (DBCA)工具完成的。用户通过一系…...

RAGFlowwindows本地pycharm运行

Python环境准备 1. 安装pipx。如已经安装&#xff0c;可跳过本步骤&#xff1a; python -m pip install --user pipxpython -m pipx ensurepath## 验证安装pipx --version2. 安装 uv。如已经安装&#xff0c;可跳过本步骤&#xff1a; pipx install uv ## 设置为阿里云 PyPI…...

阿里云RAM账号免密登录Java最佳实践

参考官方文章地址&#xff1a;如何使用免登访问流程_阿里云集成转售解决方案-阿里云帮助中心 参考代码地址&#xff1a;如何使用安全访问服务Python及Java示例代码_阿里云集成转售解决方案-阿里云帮助中心 1. RAM的含义 阿里云的访问控制RAM&#xff08;Resource Access Manag…...

基于LightRAG进行本地RAG部署(包括单卡多卡本地模型部署、调用阿里云或DeepSeekAPI的部署方法、RAG使用方法)

1.简介 RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的自然语言处理模型架构。它旨在解决传统生成模型在面对复杂任务时可能出现的生成内容缺乏准确性和多样性的不…...

GPIO输出模式

这个 typedef enum 是 STM32 中 GPIO 模式的定义&#xff0c;每一个模式都代表着 GPIO 引脚的不同工作方式。不同的模式会影响引脚的输入或输出状态&#xff0c;以及是否具有其他功能&#xff08;如外设功能&#xff09;。接下来&#xff0c;我将详细解释每个模式的作用和如何使…...

Linux,redis数据库安装使用

Redis 非关系型数据库 介绍 安装 主从模式 哨兵模式 集群模式 redis 数据类型/增删改查 redis 持久化 redis 雪崩 击穿 穿透 LAMPredis 数据迁移 git redis 安装部署 1&#xff0c;下载或者上传redis 6.2.14 wget http://download.redis.io/releases/redis-6.2.14.tar.gz …...

3DS 转 STL 全攻略:传统工具与迪威模型网在线转换深度解析

在 3D 建模与 3D 打印的技术领域中&#xff0c;常常会遇到需要将不同格式的文件进行转换的情况。其中&#xff0c;把 3DS 文件转换为 STL 格式是较为常见的操作。3DS 文件作为一种旧版 Autodesk 3D Studio 使用的 3D 图像格式&#xff0c;存储着丰富的信息&#xff0c;包括网格…...

最新Spring Security实战教程(十一)CSRF攻防实战 - 从原理到防护的最佳实践

&#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Micro麦可乐的博客 &#x1f425;《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程&#xff0c;入门到实战 &#x1f33a;《RabbitMQ》…...

远程医疗系统安全升级:构建抗CC攻击的全方位防护网

随着云计算、大数据和互联网技术的不断发展&#xff0c;远程医疗系统正在逐步走进大众视野&#xff0c;为患者提供便捷高效的医疗服务。然而&#xff0c;远程医疗系统在便利性的背后也面临着严峻的网络安全挑战&#xff0c;其中&#xff0c;CC攻击&#xff08;Challenge Collap…...

【Java学习笔记】进制与进制转换

进制与进制转换 一、进制介绍 二进制&#xff1a;0、1&#xff0c;满 2 进 1&#xff0c;以 0b 或 0B 开头。 十进制&#xff1a;0-9&#xff0c;满 10 进 1。 八进制&#xff1a;0-7&#xff0c;满 8 进 1&#xff0c;以数字 0 开头表示。 十六进制&#xff1a;0-9 及 A(10…...

《SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战》​

&#x1f31f; ​大家好&#xff0c;我是摘星&#xff01;​ &#x1f31f; 今天为大家带来的是Scheduled和Quartz对比分析&#xff1a; 新手常见困惑&#xff1a; 刚学SpringBoot时&#xff0c;我发现用Scheduled写定时任务特别简单。但当我看到同事在项目里用Quartz时&…...

RestSharp和Newtonsoft.Json结合发送和解析http

1.下载RestSharp和Newtonsoft.Json 2编写ApiRequest和ApiResponse和调用工具类HttpRestClient 请求模型 /// <summary>/// 请求模型/// </summary>public class ApiRequest{/// <summary>/// 请求地址/api路由地址/// </summary>public string Route {…...

[图论]Kruskal

Kruskal 本质&#xff1a;贪心&#xff0c;对边进行操作。存储结构&#xff1a;边集数组。适用对象&#xff1a;可为负权图&#xff0c;可求最大生成树。核心思想&#xff1a;最短的边一定在最小生成树(MST)上&#xff0c;对最短的边进行贪心。算法流程&#xff1a;对全体边集…...

腾讯云对象存储以及项目业务头像上传

腾讯云上传步骤&#xff1a; service-vod模块化中 ①、参考文档&#xff0c;引入依赖 ②、配置文件application.properties ③、创建工具类 初始化bean的时候读取配置文件 Component public class ConstantPropertiesUtil implements InitializingBean{Value("${t…...

Windows下导入文件中的环境变量

在Windows批处理脚本&#xff08;.bat&#xff09;中&#xff0c;通过文件获取并设置环境变量通常涉及逐行读取文件内容并动态赋值给变量。以下是具体实现方法及示例&#xff1a; 一、从文件读取变量并设置到环境变量 假设有一个配置文件&#xff08;如env_config.txt&#xf…...