当前位置:网站首页>力扣:746. 使用最小花费爬楼梯
力扣:746. 使用最小花费爬楼梯
2022-08-04 05:14:00 【empty__barrel】
力扣:746. 使用最小花费爬楼梯
题目:
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
此题有注意点,即:
到达的是楼顶而不是最后一个台阶。到达楼顶的方式是最后一个台阶走一步即数组最后一个值,或者倒数第二个台阶走两步到达楼顶,即数组倒数第二个值。一开始我还以为到达的是最后一个楼梯。因此最后写返回值时如下:
return min(dp[cost.size()-3],dp[cost.size()-2]);
普通代码:
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
vector<int>dp(cost.size());
dp[0] = cost[0];
dp[1] = cost[1];
for(int i = 2; i < cost.size(); ++i){
dp[i] = min(dp[i-1],dp[i-2])+cost[i];
}
return min(dp[cost.size()-1],dp[cost.size()-2]);
}
};
代码:其实只需要维护两个数值即可
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
int dp[2];
dp[0] = cost[0];
dp[1] = cost[1];
for(int i = 2; i < cost.size(); ++i){
int m = min(dp[0],dp[1])+cost[i];
dp[0] = dp[1];
dp[1] = m;
}
return min(dp[1],dp[0]);
}
};
边栏推荐
- As soon as flink cdc is started, the CPU of the source Oracle server soars to more than 80%. What is the reason?
- Performance testing with Loadrunner
- Towards Real-Time Multi-Object Tracking (JDE)
- Structure function exercise
- 结构体指针知识要点总结
- 详解八大排序
- 震惊,99.9% 的同学没有真正理解字符串的不可变性
- 一个对象引用的思考
- Dynamic programming of the division of numbers
- C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.5 数组和指针的其他区别
猜你喜欢
随机推荐
drools from download to postman request success
烧录场景下开发如何进行源代码保密工作
C Expert Programming Chapter 4 The Shocking Fact: Arrays and Pointers Are Not the Same 4.5 Other Differences Between Arrays and Pointers
What is the salary of a software testing student?
Tactile intelligent sharing - SSD20X realizes upgrade display progress bar
C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.4 使声明与定义相匹配
centos 安装postgresql13 指定版本
The Road to Ad Monetization for Uni-app Mini Program Apps: Full Screen Video Ads
在被面试官说了无数次后,终于潜下心来整理了一下JVM的类加载器
How to open a CITIC Securities online account?is it safe?
C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.4 Matching declarations to definitions
数的划分之动态规划
C Expert Programming Chapter 4 The Shocking Fact: Arrays and Pointers Are Not the Same 4.3 What is a Declaration and What is a Definition
路网编辑器技术预研
C专家编程 第5章 对链接的思考 5.4 警惕Interpositioning
redis中常见的面试题
DataTable uses Linq for grouping and summarization, and converts the Linq result set into DataTable
8. Haproxy builds a web cluster
ADC噪声全面分析 -03- 利用噪声分析进行实际设计
el-Select 选择器 底部固定