Day45| 爬楼梯 (进阶)Leetcode 322. 零钱兑换 Leetcode 279. 完全平方数

爬楼梯 (进阶)

题目链接 爬楼梯(进阶版)

本题目属于排列中的背包问题,所以先遍历背包,后遍历物品,剩下的就是完全背包的板子了,下面直接上代码:

#include<iostream>
#include<vector>
using namespace std;
int main (){int n,m;cin>>n>>m;vector<int> dp(n+1,0);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];}}}cout<<dp[n];return 0;
}

Leetcode 322. 零钱兑换

题目链接 322 零钱兑换

组合类,注意一下初始化,代码:

class Solution {
public:int coinChange(vector<int>& coins, int amount) {vector<int> dp(amount+1,INT_MAX);dp[0] = 0;for(int i=0;i<coins.size();i++){for(int j=coins[i];j<=amount;j++){if(dp[j-coins[i]] != INT_MAX){dp[j] = min(dp[j],dp[j-coins[i]]+1);}}}if(dp[amount] == INT_MAX){//没有被覆盖,说明无法凑成amountreturn -1;}return dp[amount];}
};

Leetcode 279. 完全平方数

题目链接 279 完全平方数

只不过是把顺序数改成了平方数,思路一样的,完全平方数就是物品(可以无限件使用),凑个正整数n就是背包,问凑满这个背包最少有多少物品?直接上代码:

class Solution {
public:int numSquares(int n) {vector<int> dp(n+1,INT_MAX);dp[0] = 0;for(int i=1;i*i<=n;i++){for(int j=i*i;j<=n;j++){dp[j] = min(dp[j],dp[j-i*i]+1);}}return dp[n];}
};

end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷题记录--算法--简单

第一题 2582. 递枕头 已解答 简单 相关标签 相关企业 提示 n 个人站成一排&#xff0c;按从 1 到 n 编号。 最初&#xff0c;排在队首的第一个人拿着一个枕头。每秒钟&#xff0c;拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾&#xff0c;传递…

高防IP是什么?有什么优势?

随着互联网的普及和快速发展&#xff0c;网络安全问题日益突出。在众多安全问题中&#xff0c;DDOS攻击是一种常见的攻击手段&#xff0c;它通过发送大量的无效或低效请求&#xff0c;使得目标服务器无法响应正常用户的请求&#xff0c;从而造成服务不可用的情况。为了解决这个…

部署zabbix

源码下载地址&#xff1a; Download Zabbix sources nginx: download 防火墙和selinux都需要关闭 1、部署监控服务器 1&#xff09;安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来&#xff0c;并且还需要使用MySQL来存储数据&#xff0c;因此需要先为Zabbix准备基础…

vue的el

类型&#xff1a;string | Element 限制&#xff1a; 只在用 new 创建实例时生效。 详细&#xff1a; 提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标。可以是 CSS 选择器&#xff0c;也可以是一个 HTMLElement 实例。 在实例挂载之后&#xff0c;元素可以用 vm.…

Java创建线程有哪几种方式?

Java创建线程有哪几种方式&#xff1f; 在 Java 中&#xff0c;创建线程有多种方式&#xff0c;主要包括使用 Thread 类和实现 Runnable 接口。以下是几种常见的创建线程的方式&#xff1a; 继承 Thread 类&#xff1a; 通过继承 Thread 类并重写 run 方法来创建线程。 class …

如何使用eXtplorer+cpolar内网穿透搭建个人云存储实现公网访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

关于互联网安全方面需要了解的一些知识

关于互联网安全方面需要了解的一些知识 文章目录 关于互联网安全方面需要了解的一些知识一、资产扫描二、漏洞扫描三、渗透测试四、POC五、Exp六、代码规范七、函数命名八、注释怎么写 一、资产扫描 资产扫描是一种通过扫描网络或系统中所有设备、应用程序和服务&#xff0c;识…

PHP escapeshellarg()+escapeshellcmd()绕过

文章目录 函数利用escapeshellarg()函数escapeshellcmd()函数 exp执行原理攻击面例题 [BUUCTF 2018]Online Tool例题 [网鼎杯 2020 朱雀组]Nmap 函数利用 escapeshellarg()函数 单引号 ()&#xff1a;转义为 \。 双引号 (")&#xff1a;转义为 \"。 反斜杠 (\)&…

HTTP不同场景下的通信过程和用户上网认证过程分析

目录 HTTP不同场景的通信过程 HTTP正常交互过程 HTTP透明加速传输过程 HTTP代理服务器场景下交互过程 通过AC对上网用户不同场景的认证过程 AC上网认证正常交互过程 通过Cookie实现免认证交互过程 代理服务器场景下HTTP密码认证交互过程 HTTP不同场景的通信过程 HTTP、…

专业130+总分400+云南大学通信847专业基础综考研经验(原专业课827)

今年专业130总分400云南大学通信上岸&#xff0c;整体考研感觉还是比较满意&#xff0c;期间也付出了很多心血&#xff0c;走过弯路&#xff0c;下面分享一下这一年考研得失&#xff0c;希望大家可以从中有所借鉴。 先说明我在考研报名前更换成云南大学的理由&#xff1a;&…

谷歌正式发布最强 AI 模型 Gemini

2023年12月6日&#xff0c;谷歌公司宣布推出其被认为是规模最大、功能最强大的人工智能模型 Gemini。 Gemini将分为三个不同的套件&#xff1a;Gemini Ultra、Gemini Pro和Gemini Nano。 Gemini Ultra被认为具备最强大的能力&#xff0c;Gemini Pro则可扩展至多任务&#x…

xilinx原语详解及仿真——ODDR

ODDR位于OLOGIC中&#xff0c;可以把单沿传输的数据转换为双沿传输的数据&#xff0c; 在讲解ODDR功能之前&#xff0c;需要先了解OLOGIC的结构及功能。 1、OLOGIC OLOGIC块位于IOB的内侧&#xff0c;FPGA内部信号想要输出到管脚&#xff0c;都必须经过OLOGIC。OLOGIC资源的类…

CleanMyMac4.16中文最新版本下载

当很多人还在为电脑运行缓慢、工作问题不能快速得到解决而烦恼的时候&#xff0c;我已经使用过了多款系统清理工具&#xff0c;并找到了最适合我的那一款。我的电脑是超耐用的Mac book&#xff0c;接下来给大家介绍三种在众多苹果电脑清理软件的排名较高的软件。 一、Maintena…

【ET8】0.ET8入门-ET框架介绍

ET8 新特性 多线程多进程架构,架构更加灵活强大&#xff0c;多线程设计详细内容请看多线程设计课程抽象出纤程(Fiber)的概念&#xff0c;类似erlang的进程&#xff0c;非常轻松的创建多个纤程&#xff0c;利用多核&#xff0c;仍然是单线程开发的体验纤程调度: 主线程&#xf…

首次面试经历(忘指导)当我在简历上写了苍穹外卖,瑞吉外卖时……

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 个人简介: 大三在校生&#xff0c;二本院校&#xff0c;专业&#xff1a;信息管理与信息系统 面试岗位&#xff1a; java开发实习生 投”简历“ 临近大三寒假&#xff0c;很早就有实习想法的我&#xff0c;对12月做…

一篇文章了解JDK的前世今生

我们每天都在开发Java,每天都在使用JDK,那么我们了解JDK的发展史吗,这篇文章将带你深入了解JDK的发展史。 JDK(Java Development Kit)是Java开发者工具包,是用于编写Java程序和运行Java程序的软件开发工具集。自从1995年Java语言首次发布以来,JDK已经经历了数十年的发展…

python打开相机,用鼠标左键框选矩形区域,支持一次框选多个矩形区域,通过鼠标右标清除上一次画的矩形。

方案一 import cv2# Global variables rectangles [] current_rectangle [] drawing False# Mouse callback function def mouse_callback(event, x, y, flags, param):global rectangles, current_rectangle, drawingif event cv2.EVENT_LBUTTONDOWN:drawing Truecurren…

C语言——常用库函数

C语言——常用库函数 memcmp int my_memcmp(char* str1,char* str2,int num) {while(num--){if(*str1>*str2){return 1;}else if(*str1<*str2){return -1;}else{str1;str2;}}return 0; }memcpy void* my_memcpy(void *str1,void *str2,int size) {int *p1str1;int *p2…

Linux数据库Mysql增删改查

从安装数据库到增删改查 apt install mariadb-serverUndefined 安装好后初始化 mysql_secure_installationUndefined 查 查询现有的库 show databases;SQL 进入库 use mysql;Perl 查询表 show tables;SQL 查询表结构 desc mysql;SQL 查询表内容 select * from my…

深度学习TensorFlow2基础知识学习后半部分

介绍几个重要操作&#xff1a; 1.范数 a tf.fill([1,2], value2.) b tf.norm(a)# 二范数#第二种计算方法 # 计算验证 a tf.square(a) log("a的平方:", a) a tf.reduce_sum(a) log("a平方后的和:", a) b tf.sqrt(a) log("a平方和后开根号:"…