代码随想录刷题第38天|LeetCode509斐波那切数列、LeetCode70爬楼梯、LeetCode746使用最小花费爬楼梯

news/2024/10/15 10:18:48/

1、LeetCode509斐波那切数列

题目链接:509、斐波那契数列

递归法:

class Solution {
public:int fib(int n) {if (n <= 1) return n;return ( fib(n-1) + fib(n-2) );}
};

动态规划五部曲:

  1. 确定dp数组以及下标的含义:dp[i]的定义为:第i个数的斐波那契数值是dp[i]。
  2. 递推公式:dp(i) = dp(i-1) + dp(i-2) ;
  3. 初始化:dp[0] = 0; dp[1] = 1;
  4. 遍历顺序:从前向后遍历;
  5. 举例推导dp数组。
class Solution {
public:int fib(int n) {if (n <= 1) return n;vector<int> dp(n+1);dp[0] = 0;dp[1] = 1;for (int i = 2; i <= n; i++){dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
};

2、LeetCode70爬楼梯

题目链接:70、爬楼梯

1dp[i]: 爬到第i层楼梯,有dp[i]种方法。

2、递推公式:由于一次只能迈1或2阶台阶,爬到第i层楼梯,考虑爬到第i-2层和第i-1层,

首先是dp[i - 1],上i-1层楼梯,有dp[i - 1]种方法,那么再一步跳一个台阶不就是dp[i]了么。

还有就是dp[i - 2],上i-2层楼梯,有dp[i - 2]种方法,那么再一步跳两个台阶不就是dp[i]了么。

那么dp[i]就是 dp[i - 1]与dp[i - 2]之和!

所以dp[i] = dp[i - 1] + dp[i - 2] 。

3、初始化:dp[1] = 1;dp[2] = 2;

4、遍历顺序:从前向后遍历。

5、举例推导dp数组。

class Solution {
public:int climbStairs(int n) {if (n <= 1) return n;vector<int> dp(n+1);dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++){dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
};

3、LeetCode746使用最小花费爬楼梯

题目链接:746、使用最小花费爬楼梯

1、dp[i]的定义:到达第i台阶所花费的最少体力为dp[i]。因为要爬到顶楼,i下标要到cost.size();

dp数组有cost.size()+1个元素。

2、递推公式

可以有两个途径得到dp[i],一个是dp[i-1] 一个是dp[i-2]

dp[i - 1] 跳到 dp[i] 需要花费 dp[i - 1] + cost[i - 1]。

dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] + cost[i - 2]。

所以dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);

3、初始化:dp[0] = 0; dp[1] = 0;

4、遍历顺序:从前向后;

5、举例推导dp数组。

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {vector<int> dp(cost.size() + 1);dp[0] = 0;dp[1] = 0;for (int i = 2; i <= cost.size(); i++){dp[i] = min(dp[i-1] + cost[i-1], dp[i-2] + cost[i-2]);}return dp[cost.size()];}
};


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

相关文章

基于PPGiPPG的心率检测原理

引言 本人所在实验室研究组是从事视频医学方向研究&#xff0c;目前主要针对非接触式的视频脉搏波提取技术被称作图像光电容积脉搏波描记法**(image Photoplethysmography ,iPPG)。具体为从人面部或者指尖等皮肤区域提取由于心脏跳动引起的颜色变化信号**BVP(Blood Volume Pul…

基于视频分析的rPPG心率检测

基于视频分析的rPPG心率检测 YTimo PKU EECS 注:本文内容主要来自于综述文章:Video-Based Heart Rate Measurement: Recent Advances and Future Prospects[1],笔者加入了一些原理性的以及自己实际经验的补充。如果想了解更多详细信息,欢迎阅读原论文。 摘要 心率估计和…

【毕业设计】基于单片机的心率检测系统 - stm32 物联网 嵌入式

1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于STM32的血氧心率检测器的设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/d…

android计算心率方法,计算目标心率最简单的方法 | 跑者

摘要 当我们在目标心率区跑步或进行其它锻炼时&#xff0c;我们的身体将会从中获得最大的益处。 当我们在目标心率区跑步或进行其它锻炼时&#xff0c;我们的身体将会从中获得最大的益处。以每分钟心跳次数(bpm)为单位&#xff0c;目标心率是最大心率的50%到85%&#xff0c;也就…

心跳之旅——iOS用手机摄像头检测心率(PPG)

转载于https://www.jianshu.com/p/6a504afe179e [前情提要] 光阴似箭&#xff0c;日月如梭&#xff0c;最近几年&#xff0c;支持心率检测的设备愈发常见了&#xff0c;大家都在各种测空气测雪碧的&#xff0c;如火如荼&#xff0c;于是我也来凑一凑热闹。[0] 这段时间&#xf…

光学心率测量原理

光学心率测量原理 原博地址 http://blog.csdn.net/richard_liujh/article/details/49615395 简介&#xff1a; 在这个什么都要和“智能”串联的年代&#xff0c;除了我们司空见款的手机外也就是一些智能手表和手环之类的穿戴设备了。这些智能穿戴设备集成了很多的传感器&#…

基于STM32设计的健康检测设备(测温心率计步)

1. 项目介绍 本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6050陀螺仪实现),支持WIFI传输数据到手机APP打印显示。 硬件环境介绍: MCU采用STM32F103C8T6 心率传感器采用PulseSensor 体温检测传感器采用红外测温传感器 运动…

华为测试心率软件,华为手环3的心率健康监测真的好用么?我实测了下

原标题&#xff1a;华为手环3的心率健康监测真的好用么&#xff1f;我实测了下 近期&#xff0c;华为推出了旗下专为关注健康&#xff0c;以及初级运动爱好者而设计的手环新品&#xff1a;华为手环3系列&#xff0c;较于上一代华为手环系列而言&#xff0c;华为手环3系列不仅外…