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

代码随想录算法训练营day37|动态规划part05

完全背包问题;

第一题:518. Coin Change II

class Solution {public int change(int amount, int[] coins) {//递推表达式int[] dp = new int[amount + 1];//初始化dp数组,表示金额为0时只有一种情况,也就是什么都不装dp[0] = 1;for (int i = 0; i < coins.length; i++) {for (int j = coins[i]; j <= amount; j++) {dp[j] += dp[j - coins[i]];}}return dp[amount];}
}
// 二维dp数组版本,方便理解
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++){// 第一列的初始值为1dp[i][0] = 1;}for(int j = coins[0]; j <= amount; j++){// 初始化第一行dp[0][j] += dp[0][j-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][j-coins[i]] + dp[i-1][j];}}return dp[coins.length-1][amount];}
}

第二题:377. Combination Sum IV

class Solution {public int combinationSum4(int[] nums, int 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 - nums[j]];}}}return dp[target];}
}

第三题:爬楼梯进阶

感觉今天学的技巧性都挺强的,完全背包的还得再看看;

如果求组合数就是外层for循环遍历物品,内层for遍历背包

如果求排列数就是外层for遍历背包,内层for循环遍历物品

 

 

相关文章:

代码随想录算法训练营day37|动态规划part05

完全背包问题&#xff1b; 第一题&#xff1a;518. Coin Change II class Solution {public int change(int amount, int[] coins) {//递推表达式int[] dp new int[amount 1];//初始化dp数组&#xff0c;表示金额为0时只有一种情况&#xff0c;也就是什么都不装dp[0] 1;fo…...

Git 如何提交代码

一. 简介 前面几篇文章简单学习了 git常用命令&#xff0c;文章如下&#xff1a; Git使用过程中涉及的几个区域-CSDN博客 Git常用命令的使用-CSDN博客 本文学习一下 如何使用 git命令&#xff0c;将本地代码提交到远程仓库。 二. 使用 git命令将本地代码提交到远程仓库中 …...

SpringBoot-application.properties为对象赋值

简单对象赋值 第一种方式 首先让该Bean交由Spring管理,然后加上ConfigurationProperties(prefix"前缀") <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId>&l…...

Head First设计模式学习笔记

Head First设计模式学习笔记 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、策略模式 策略模式定义了算法族&#xff0c;分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;此模式让…...

240806-RHEL 无法通过 ssh username@ip 远程连接,报错:Connection closed by ip port 22

A. 原因排查 遇到这个错误通常意味着 SSH 服务可能在目标主机上没有正常运行&#xff0c;或有防火墙/网络配置问题。以下是一些排查步骤&#xff1a; 检查 SSH 服务状态&#xff1a; 确认 SSH 服务是否正在目标主机上运行。 sudo systemctl status sshd重启 SSH 服务&#xff…...

C语言:复读机2种写法(输入什么就输出什么)

&#xff08;1&#xff09;题目&#xff1a;输入什么内容&#xff0c;输出就是什么内容&#xff0c;遇到"#"为止。输入一个随便的字符 &#xff08;2&#xff09;代码&#xff1a; 【1】getchar()和putchar() #include "stdio.h"int main() {char ch;pr…...

PySide6/PyQT学习笔记(很杂)

QGroupBox样式&#xff1a;科技机甲 QGroupBox { border: 2px solid #333; /* 深色边框&#xff0c;类似金属质感 */ border-radius: 8px; /* 轻微的圆角 */ background-color: #222; /* 暗色背景&#xff0c;模拟机甲内部或科技界面 */ color: #fff; /* 字体颜色为白色&a…...

学习笔记-JWT 保持登录状态

目录 一、解析 token 1. 在 JWT 工具类添加解析 token 的方法 2. 在 Controller 添加获取用户数据的方法 二、获取用户信息 1. 发起 axios 请求用户信息 2. 在路由守卫中调用方法 3. 使用 三、token 时效性 1. 设置 token 过期时间 2. 判断 token 是否过期 3. 在拦截…...

React 性能优化

使用 useMemo 缓存数据 &#xff08;类似 vue 的 computed&#xff09;使用 useCallback 缓存函数异步组件 ( lazy )路由懒加载( lazy )服务器渲染 SSR用 CSS 模拟 v-show 循环渲染添加 key使用 Fragment &#xff08;空标签&#xff09;减少层级 不在JSX 中定义函数&#xff0…...

后端常见问题及深度解决方案

&#x1f41f;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢编程&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前…...

C:野指针介绍(定义、危害、规避)以及野指针与空指针的区分

目录 1、野指针 1.1 野指针的成因 1.指针未初始化 2.指针越界访问 3.指针指向的空间释放 1.2 野指针的危害 1.3 如何规避野指针 1. 指针初始化 2. 小心指针越界 3.指针变量不使用就及时赋上NULL 4. 指针使用前检查是否是空指针 5. 避免返回局部变量的地址 1.4 区…...

vue中v-html 后端返回html + script js中click事件不生效

效果图&#xff1a; 需求&#xff1a;点击加号执行后端返回的script中的代码 后端返回的html&#xff1a; <!DOCTYPE html> <html langzh> <head> <title>xxx</title> <style>body{font-size: 14px}p{text-indent: 30px;}textarea{width…...

介绍maven生命周期-水温

Maven生命周期是指一系列的构建阶段&#xff0c;包括项目的清理、编译、测试、打包、部署等。Maven通过定义生命周期来规范项目构建过程&#xff0c;使得开发人员可以方便地执行一系列的构建任务。 Maven的生命周期分为三个阶段&#xff1a; clean生命周期&#xff1a;主要用…...

spring boot3.x快速入门

下一篇&#xff1a;Spring Boot 3.x gradle脚手架工程build.gradle详解 本教程将基于gradle项目构建工具来快速构建一个spring boot 3.x的最简单的web应用&#xff0c;其中涉及各种构建技巧和细节&#xff0c;希望能帮到初学者~ 文章目录 先决条件JDK17gradle全局配置 gradle项…...

JavaWeb之servlet关于Ajax实现前后端分离

一、什么是Ajax: AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部…...

vue3表格组件formatter

有时候在网页上显示表格数据时&#xff0c;表格的某些列值只有有限数目&#xff08;例如&#xff0c;启用/停用&#xff09;&#xff0c;这时候后端常常使用不同的数据值表示不同状态&#xff0c;前端怎么将这些数据值转化为相应的列值呢&#xff1f; 我们可以采用vue3表格组件…...

C# 使用NHibernate连接MySQL实现数据的增删改查

使用 NHibernate 连接 MySQL 并实现数据的增删改查操作是一个非常典型的场景。以下是一个简单的示例&#xff0c;演示了如何配置 NHibernate 与 MySQL 连接并进行基本的 CRUD 操作。 目录 步骤 1: 安装必要的包 步骤 2: 配置 NHibernate 配置文件方式 代码方式 步骤 3: 定…...

IDEA2024.2重磅发布,更新完有4G!

JetBrains 今天宣布了其 IDE 家族版本之 2024.2 更新&#xff0c;其亮点是新 UI 现在已是默认设置&#xff0c;并且对 AI Assistant &#xff08;AI助手&#xff09;进行了几项改进。 安装密道 新 UI 的设计更加简约&#xff0c;可以根据需要以视觉方式扩展复杂功能。值得开发…...

QWT+Qt Creator+MSVC的配置与使用

目录 一、介绍 二、QWT下载 三、QWT编译 3.1 设置构建套件 3.2 修改QWT相关文件 3.3 进行QWT编译 四、QWT配置 4.1 配置QWT的lib文件 4.2 配置QWT的dll文件 4.3 配置QWT的designer的dll文件 五、代码实验 一、介绍 QWT&#xff0c;全称是Qt Widgets for Technical…...

Netty高性能数据结构

文章目录 Netty高性能数据结构FastThreadLocalHashedWheelTimer时间轮Mpsc无锁队列 Netty高性能数据结构 Netty 用高性能数据结构的主要目的是为了提高网络通信的效率和系统的整体性能。 所谓的高性能数据结构是指&#xff0c;那些在特定场景下优化了性能和效率的数据结构&am…...

卡证检测矫正模型与ChatGPT联动:打造智能问答审核助手

卡证检测矫正模型与ChatGPT联动&#xff1a;打造智能问答审核助手 你有没有遇到过这样的场景&#xff1f;用户上传了一张歪歪扭扭、光线昏暗的身份证照片&#xff0c;你需要手动把它摆正、调亮&#xff0c;然后一个字一个字地把姓名、身份证号敲进系统里核对。或者&#xff0c…...

华为防火墙IPsec点对点配置实战:从零到通的完整流程(附常见错误排查)

华为防火墙IPsec点对点配置实战&#xff1a;从零到通的完整流程&#xff08;附常见错误排查&#xff09; 在当今企业网络架构中&#xff0c;跨地域分支机构之间的安全通信已成为刚需。IPsec VPN凭借其强大的加密能力和标准化协议支持&#xff0c;成为构建安全通道的首选方案。华…...

新手零压力入门,快马ai带你一步步搞定android studio全配置

作为一名刚接触安卓开发的新手&#xff0c;我深刻理解配置开发环境时的迷茫和焦虑。记得第一次安装Android Studio时&#xff0c;面对密密麻麻的配置选项和报错信息&#xff0c;简直手足无措。好在通过InsCode(快马)平台的帮助&#xff0c;我整理出了一套清晰的环境配置流程&am…...

3小时掌握拼多多数据采集:Scrapy框架实战指南

3小时掌握拼多多数据采集&#xff1a;Scrapy框架实战指南 【免费下载链接】scrapy-pinduoduo 拼多多爬虫&#xff0c;抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 对于电商数据分析和市场研究从业者而言&#xff0c;获…...

OpenClaw安全防护:千问3.5-9B操作权限最佳实践

OpenClaw安全防护&#xff1a;千问3.5-9B操作权限最佳实践 1. 为什么需要关注OpenClaw的安全配置 去年冬天的一个深夜&#xff0c;我被一阵急促的键盘敲击声惊醒。走进书房时&#xff0c;发现OpenClaw正在疯狂删除我的项目文件夹——原来是我白天测试时忘记限制文件删除权限&…...

专业Steam创意工坊下载解决方案:WorkshopDL跨平台多引擎架构指南

专业Steam创意工坊下载解决方案&#xff1a;WorkshopDL跨平台多引擎架构指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL WorkshopDL是一款专为技术爱好者和进阶用户设计的跨…...

企业SEO优化如何与移动端优化协同发展_企业SEO优化的结果如何持续维护和改进

企业SEO优化如何与移动端优化协同发展 在当前数字化时代&#xff0c;企业SEO优化和移动端优化是两大关键领域&#xff0c;它们共同作用于企业的在线表现和用户体验。如何让这两者协同发展&#xff0c;已经成为企业数字营销策略中不可或缺的一部分。 企业SEO优化与移动端优化的…...

零基础上手Qwen3-4B:无需编程,快速搭建你的专属AI聊天机器人

零基础上手Qwen3-4B&#xff1a;无需编程&#xff0c;快速搭建你的专属AI聊天机器人 1. 为什么选择Qwen3-4B-Instruct-2507&#xff1f; 想象一下&#xff0c;你正在寻找一个能快速响应、专注文本处理的AI助手。市面上大多数模型要么体积庞大运行缓慢&#xff0c;要么功能繁杂…...

Z-Image-Turbo广告设计:多语言海报生成系统

Z-Image-Turbo广告设计&#xff1a;多语言海报生成系统 1. 引言 电商商家每天需要制作大量商品海报&#xff0c;人工设计成本高且效率低。传统设计流程需要找设计师、反复沟通修改&#xff0c;一张海报从构思到完成往往需要数小时甚至数天时间。对于需要覆盖多个市场的品牌来…...

智能监控新选择:基于实时口罩检测-通用模型的自动告警系统搭建

智能监控新选择&#xff1a;基于实时口罩检测-通用模型的自动告警系统搭建 1. 引言&#xff1a;智能防疫监控的迫切需求 在公共场所管理中&#xff0c;确保人员佩戴口罩是防疫工作的重要环节。传统的人工检查方式存在效率低、成本高、易遗漏等问题。基于计算机视觉的智能监控…...