当前位置:网站首页>746. 使用最小花费爬楼梯-动态规划
746. 使用最小花费爬楼梯-动态规划
2022-06-23 05:48:00 【Mr Gao】
746. 使用最小花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
示例 1:
输入:cost = [10,15,20]
输出:15
解释:你将从下标为 1 的台阶开始。
- 支付 15 ,向上爬两个台阶,到达楼梯顶部。
总花费为 15 。
示例 2:
输入:cost = [1,100,1,1,1,100,1,1,100,1]
输出:6
解释:你将从下标为 0 的台阶开始。
- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。
- 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。
- 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。
- 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。
- 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。
- 支付 1 ,向上爬一个台阶,到达楼梯顶部。
总花费为 6 。
这一题看似很复杂,其实。我们需要抓住一个点,那就是一个台阶一定由前两个其中一个上来的,我们只需要计算那个cost更小,
解题代码如下:
下面是优化后的代码:
int minCostClimbingStairs(int* cost, int costSize) {
int dp[costSize];
dp[0] = cost[0];
dp[1] = cost[1];
for (int i = 2; i <= costSize-1; i++) {
dp[i] = fmin(dp[i - 1] , dp[i - 2] )+cost[i];
}
return fmin(dp[costSize-1],dp[costSize-2]);
}
边栏推荐
猜你喜欢

从 WAN 到 SD-WAN 边缘设备的网络架构

Synchronous switching power supply reduces EMI layout dv/dt di/dt

C# wpf 附加属性实现界面上定义装饰器

聚焦智慧城市,华为携手中科星图共同开拓数字化新蓝海

Data indicators and data analysis models that designers need to understand

Sword finger offer 42 Maximum sum of successive subarrays

常见设置模式(抽象工厂&责任链模式&观察者模式)

Media industry under the epidemic situation, small program ecology driven digital transformation exploration

xml dtd 记录

如何迁移virtualbox 的虚拟机到hype-v
随机推荐
光谱共焦的测量原理及厚度测量模式
2022-01-12: give a positive array arr, length N, subscript 0~n-1, a
Open source to the world (Part 2): the power of open source from the evolution of database technology BDTC 2021
haas506 2.0开发教程-sntp(仅支持2.2以上版本)
Open source ecology 𞓜 super practical open source license basic knowledge literacy post (Part 2)
直播带货这么火,如何在小程序中实现视频通话及直播互动功能?
【接口自动化】软件测试涨薪核心技能、让薪资涨幅200%
中台库存中的实仓与虚仓的业务逻辑设计
如何迁移virtualbox 的虚拟机到hype-v
华为软件测试笔试真题之变态逻辑推理题
Chrome删除重复书签
How to maintain secure encryption of email communication with FDA?
【踩坑记录】数据库连接未关闭连接,释放资源的坑
疫情下的传媒产业,小程序生态驱动数字化转型探索
Mysql5.6 (5.7-8) is based on shardingsphere5.1.1 sharding proxy mode. Read / write separation
解析创客教育中的个性化学习进度
Sklearn classification in sklearn_ Report & accuracy / recall /f1 value
C# 获取DPI和真实分辨率的方式(可以解决一直是96的问题)
C # database reports errors. Let's have a look
Haas506 2.0 development tutorial - Advanced Component Library -modem SMS (only supports versions above 2.2)