代码随想录算法训练营第四十五天|57.爬楼梯、322.零钱兑换、279.完全平方数

文档链接:https://programmercarl.com/

LeetCode57.爬楼梯

题目链接:https://kamacoder.com/problempage.php?pid=1067

思路:每个物品能用多次——完全背包。求排列,遍历顺序要先背包后物品。

动规:

#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 j = 0; j <= n; j++) {for(int i = 0; i < m; i++) {if(j >= (i + 1)) dp[j] += dp[j - (i + 1)];}}cout << dp[n] << endl;return 0;
}

LeetCode322.零钱兑换

题目链接:https://leetcode.cn/problems/coin-change/description/

思路:成功AC!

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

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

动规:

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) return -1;else return dp[amount];}

LeetCode279.完全平方数

题目链接:https://leetcode.cn/problems/perfect-squares/

思路:同上一题

动规:

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];}
};

总结:有感觉了哦!

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

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

相关文章

使用Python实现交叉验证与模型评估

交叉验证是一种评估机器学习模型性能的常用方法&#xff0c;它可以更准确地估计模型在未知数据上的性能。在本文中&#xff0c;我们将介绍交叉验证的原理和常见的几种交叉验证方法&#xff0c;并使用Python来实现这些方法&#xff0c;并展示如何使用交叉验证来评估模型的性能。…

华为OD机试:30 找出通过车辆最多颜色

package a_od_test;import java.util.Arrays; import java.util.Scanner;/* 找出通过车辆最多颜色 知识点滑奩 时间限制&#xff1a;1S空间限制&#xff1a;256MB限定语言&#xff1a;不限 题目描述&#xff1a; 在一个狭小的路口&#xff0c;每秒只能通过一辆车&#xff0c;假…

蓝桥杯刷题-包子凑数

1226. 包子凑数 - AcWing题库 #include <bits/stdc.h>using namespace std;const int N 110; int n , d 0; int a[N]; bool dp[N][10005];int gcd(int a,int b) {return b ? gcd(b , a % b) : a; }int main() {cin >> n;for(int i 1 ;i < n;i ){cin >&g…

【机器学习】数据变换---小波变换特征提取及应用案列介绍

引言 在机器学习领域&#xff0c;数据变换是一种常见且重要的预处理步骤。通过对原始数据进行变换&#xff0c;我们可以提取出更有意义的特征&#xff0c;提高模型的性能。在众多数据变换方法中&#xff0c;小波变换是一种非常有效的方法&#xff0c;尤其适用于处理非平稳信号和…

OpenHarmony网络协议通信c-ares [交叉编译]异步解析器库

简介 c-ares是异步解析器库&#xff0c;适用于需要无阻塞地执行 DNS 查询或需要并行执行多个 DNS 查询的应用程序。 下载安装 直接在OpenHarmony-SIG仓中搜索c-ares并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的c-ares库代码存在以下路径&#xff1a;…

AI大模型日报#0416:李飞飞《2024年人工智能指数报告》、Sora加入Adobe、李彦宏聊百度大模型之路

​导读&#xff1a; 欢迎阅读《AI大模型日报》&#xff0c;内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 刚刚&#xff0c;李飞飞团队发布《2024年人工智能指数报告》&#xff1a;10大趋势&#xff0c;揭示AI大模型的“喜”与“忧” 摘…

代码随想录打卡—day27—【回溯】— 回溯基础练习 4.15+4.16

1 39. 组合总和 39. 组合总和 我的AC代码&#xff1a; class Solution { public:vector<vector<int>> ans;vector<int> path;void dfs(int sum,vector<int>& candidates,int target,int start_idx){if(sum > target)return;if(sum target){a…

将 Notepad++ 添加到右键菜单

目录 方式一&#xff1a;添加注册表&#xff08;手动&#xff09; 方式二&#xff1a;添加注册表&#xff08;一键添加&#xff09; 有时安装了notepad后&#xff0c;在txt文件上右键&#xff0c;在弹出的菜单栏中没有【通过 Notepad 打开】&#xff0c;如下&#xff1a; 这…

【面经】2024春招-云计算后台研发工程师1(3个问题,移动TW等)

【面经】2024春招-云计算后台研发工程师1&#xff08;3个问题&#xff0c;移动&TW等&#xff09; 文章目录 岗位与面经基础1&#xff1a;数据库 & 网络&#xff08;3个问题&#xff09;基础2&#xff1a;系统 & 语法模板3&#xff1a;算法 & 项目&#xff08;移…

[StartingPoint][Tier2]Base

Task 1 Which two TCP ports are open on the remote host? (远程服务器开放了哪两个TCP端口?) $ nmap -sC -sV 10.129.234.232 22,80 Task 2 What is the relative path on the webserver for the login page? (相关的登录页面路径是什么?) /login/login.php Task 3 …

DP动态规划用在了回文串上

题源力扣最长的回文子串 思路 因为回文串有一个特性&#xff0c;就是左右对称&#xff0c;所以判断一个区间是不是回文串只需要知道两个东西&#xff1a; 他的两个端点相不相等去掉两个端点以后还是不是回文串 用数学公式表达就是 d p ( i , j ) { d p [ i 1 ] [ j − 1 …

欢乐钓鱼大师加速、暴击内置脚本,直接安装

无需手机root,安装软件即可使用&#xff0c;仅限安卓。 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

element-ui按需引入配置babel-preset-es2015 有问题?

element-ui官网的步骤进行按需引入 报错 Error: Cannot find module ‘babel-preset-es2015 安装 npm install babel-plugin-component -D 配置babel.config.js 或者 .babelrc文件 官网原配置 会报错 {"presets": [["es2015", { "modules": …

html5-qrcode实现扫码功能——2024-04-19

项目需求&#xff1a;H5项目需要实现扫描二维码或条形码功能。 html5-qrcode使用 1.安装 npm install html5-qrcode --save-dev 2.引入 import { Html5Qrcode } from html5-qrcode; 3.定义所需变量 data: function() {return {html5QrCode: null,isShow: false,scanReason…

指数平滑算法介绍及代码实现

一、一阶指数平滑 一阶指数平滑&#xff0c;也称为一次指数平滑或简单指数平滑&#xff08;Simple Exponential Smoothing, SES&#xff09;&#xff0c;是时间序列预测中的一种方法。这种方法适用于没有明显趋势和季节性成分的时间序列数据。一阶指数平滑的基本思想是最近的观…

【LeetCode热题100】【矩阵】矩阵置零

题目链接&#xff1a;73. 矩阵置零 - 力扣&#xff08;LeetCode&#xff09; 用两个数组标记要变成0的行和列索引 class Solution { public:void setZeroes(vector<vector<int> > &matrix) {vector<bool> row(matrix.size(), false), column(matrix[0]…

Python零基础从小白打怪升级中~~~~~~~生成器和迭代器

第十七节&#xff1a;生成器和迭代器 一、迭代器 本质&#xff1a; 一个实现了__iter__方法和__next__方法的对象 注意 Iterator对象和 Iterable对象&#xff0c;一个是迭代器&#xff0c;一个是可迭代对象 1、list、dict、str、tuple、set是可迭代对象但不是迭代器&#x…

Hidl 学习总结 3

目录 1、需求分析 2、接口实现 3、代码编写 4、调试过程中遇到的坑 1、需求分析 项目中需要监听gpio改变的事件&#xff0c;驱动测上报Input事件&#xff0c;需要在framework添加逻辑通知给app&#xff0c;为了解耦&#xff0c;考虑能够更好的移植&#xff0c;app单独监听该…

UUPSUpgradeable部署合约和升级合约

文章目录 写一个合约1. 使用代理部署 并添加拥有者2. 没有name number为103. 使用代理升级部署 填写上面代理的合约地址4. 合约地址没有变&#xff0c;但是添加了name&#xff0c;并且保存了number的属性值 写一个合约 // SPDX-License-Identifier: MIT // Compatible with Op…

《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》【大模型思维链】

目录 前言一、思维链介绍1-1、指令1-2、逻辑依据1-3、示例 二、Cot一般分类2-1、Zero-Shot-CoT2-2、Few-Shot-CoT 三、Cot的好处&缺陷&适用3-1、Cot的好处3-2、Cot的缺陷3-3、Cot的适用 四、变体4-1、自我验证&#xff08;self-consistency checking&#xff09; 总结 …