代码随想录算法训练营第四十五天—动态规划007

news/2024/10/21 15:32:21/

第一题、爬楼梯 (进阶)力扣题目链接

抽象完全背包问题,然后弄清for循环顺序

class Solution {
public:int climbStairs(int n) {vector<int> dp(n+1, 0);dp[0] = 1;  // 第一个初始为1,其他为0, 后续dp是根据 i-j求得for(int i=1; i <= n; i++){  // 遍历背包for(int j=1; j <= 2; j++){  // 遍历物品 (2改成m就可以升级为每步爬1-m级台阶)if(i - j >=0) dp[i] += dp[i-j];}}return dp[n];}
};

第二题、零钱兑换 力扣题目链接

如果求组合数就是外层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-coins[i]]+1, dp[j]);}}}if(dp[amount] == INT_MAX) return -1;return dp[amount];}
};

第三题、完全平方数 力扣题目链接

也可以看作是完全背包问题,n是背包,然后j*j当做物品,用j*j去装n,求最小的个数

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


http://www.ppmy.cn/news/645304.html

相关文章

STM32-内部温度传感器实验

STM32内部是有温度传感器的&#xff0c;以F1为例&#xff0c;它的温度采集范围是-40度到125度&#xff0c;精度为正负2度&#xff0c;采样通道为ADC1_INI6&#xff0c;上电控制位为TSVREFE位。 温度计算方式为&#xff1a;T(摄氏度) (V25 - Vsense) / Avg_Slope 25&#xff…

智能温度检测控制系统设计

51单片机首先它能显示环境的温度并能设置上下限阀值&#xff0c;这是最基本的功能&#xff0c;系统上电的时候显示的是当前环境温度和设定的温度阀值&#xff0c;我们可以通过按键来修改温度上下限阀值。我们看&#xff0c;按下这个K1键会进入温度阀值设置界面&#xff0c;每按…

如何设计高精度温度传感电路

在大多数的工业用测量控制监测体系中&#xff0c;温度测量传感电路的设计都是一个重要的组成部分。它广泛应用于很多特定的环境控制处理计算中。一些最常见的传感器可以用于测量绝对温度或者温度变化&#xff0c;例如是电阻式的温度检测器&#xff08;RTD&#xff09;、二极管传…

温度测试系统所思

1.常用热敏电阻一般电阻和温度变化不是完全正相关的&#xff0c;所以很难用均 匀的电阻变化表示温度的变化&#xff0c;那么就会面临如何实现热敏电阻的线 性度控制&#xff0c;这一研究课题值得深思 基本思路&#xff1a; 1.软件滤波进行线性度拟合 2.硬件选取精度高&#x…

嵌入式芯片温度如何测试与评估

目录 前言一、芯片温升概念二、结温计算1.公式 前言 嵌入式芯片在使用前DV实验中需通过温升实验获取其温升情况以及是否有温度裕量 一、芯片温升概念 一般芯片温度有三个概念&#xff1a;环境温度(ambient)、表面温度(case)、结温(junction)。 1.环境温度&#xff1a;芯片上方…

基于PT100的温度测量系统设计

摘 要 本文首先简要介绍了铂电阻PT100的特性以及测温的方法&#xff0c;在此基础上阐述了基于PT100的温度测量系统设计。在本设计中&#xff0c;是以铂电阻PT100作为温度传感器&#xff0c;采用恒流测温的方法&#xff0c;通过单片机进行控制&#xff0c;用放大器、A/D转换器进…

c语言查看cpu温度代码_C语言温度测试程序

#include &ltreg52.h&gt #include &ltintrins.h&gt #define uchar unsigned char #define uint unsigned int //unsigned char DIS4[]{"0.0000V"}; /************* 12864LCD引脚定义 *************/ #define LCD_data P0 //数据口 sbit LCD_RS P2^0…

测量温度的优选模块——新型设备M-THERMO3 16

| 具有16个自由选择通道的新型温度测量设备M-THERMO3 16 IPETRONIK推出了新的温度测量设备——M-THERMO3 16。作为新一代设备的首个模块&#xff0c;它为模块化测量技术确立了标准。该模块具有16个通道&#xff0c;并且各通道不仅分别率高达24位ADC&#xff0c;而且可以自由选…