LeetCode使用最小花费爬楼梯(动态规划)

news/2025/2/22 0:56:08/

使用最小花费爬楼梯(动态规划)

      • 题目描述
      • 算法流程(方法一)
      • 编程代码
      • 优化代码
      • 算法流程(方法二)
      • 编程代码
      • 代码优化

链接: 使用最小花费爬楼梯

题目描述

在这里插入图片描述
在这里插入图片描述

算法流程(方法一)

在这里插入图片描述

编程代码

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

在这里插入图片描述

优化代码

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

在这里插入图片描述

算法流程(方法二)

在这里插入图片描述

编程代码

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

在这里插入图片描述

代码优化

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

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

相关文章

Sestra 实用教程(二)方程求解器

目 录 一、前言二、超单元分析三、惯性释放四、模态叠加法4.1 Eigenvalue solvers4.2 Static back substitution 五、模态综合法六、Master-Slave七、参考文献 一、前言 SESAM &#xff08;Super Element Structure Analysis Module&#xff09;是由挪威船级社&#xff08;DNV-…

重学C++系列之友元

一、什么是友元 在C中&#xff0c;为了提高程序的效率&#xff0c;在一些场景下&#xff0c;引入友元&#xff0c;但同时类的封装性就会被破坏。 二、怎么实现友元 友元关键字&#xff08;friend&#xff09; // 在类中声明另一个类的成员函数来做为友元函数 // 以关键字&…

react的特点

React的特点包括以下几个方面&#xff1a; 组件化&#xff1a;React将用户界面分解成小而独立的组件&#xff0c;每个组件都有自己的状态和属性。通过组合这些组件&#xff0c;可以构建复杂而灵活的用户界面。 虚拟DOM&#xff1a;React使用虚拟DOM&#xff08;Virtual DOM&am…

Docker容器监控之 CAdvisor+InfluxDB+Granfana

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据&#xff0c;一般小公司够用了。但是&#xff0c;docker stats统计结果只能是当前宿主机的全部容器&#xff0c;数据资料是实时的&#xff0c;没有地方存储、没有健康指标过线预警等功能…

Redis三种模式——主从复制,哨兵模式,集群

目录 一、主从复制 1.1主从复制的概念 1.2Redis主从复制作用 1.2.1数据冗余 1.2.2故障恢复 1.2.3负载均衡 1.2.4高可用基石 1.3Redis主从复制流程 1.4部署Redis 主从复制 1.4.1.环境部署 1.4.2.所有服务器都先关闭防火墙 1.4.3.所有服务器都安装Redis 1.4.4修改Master主节点R…

好大一个坑:在Nginx上将PHP网页放在二级目录

1、原由 只有一个域名&#xff0c;以前用php编写的网页又不能放弃&#xff0c;考虑将其移至二级目录下&#xff0c;例如&#xff1a; https://abc.com/html2、运行环境 Linux服务器上&#xff0c;用docker容器。Nginx和php-fpm各自运行在不同的容器中&#xff0c;Nginx在前端…

Numpy-聚合函数

NumPy 提供了很多统计函数&#xff0c;用于从数组中查找最小元素&#xff0c;最大元素&#xff0c;百分位标准差和方差等。 函数名说明np.sum()求和np.prod()所有元素相乘np.mean()平均值np.std()标准差np.var()方差np.median()中位数np.power()幂运算np.sqrt()开方np.min()最小…

MySQL中锁的简介——表级锁-元数据锁、意向锁

1.元数据锁 查看元数据锁 select object_type,object_scheme,object_name,lock_type,lock_duration from perfomance_scheme.metadata_locks;2.意向锁 线程A开启事务后在执行update更新语句时候&#xff0c;会给数据加上行锁&#xff0c;加上行锁以后&#xff0c;会对整张表加…