LeetCode动态规划 使用最小花费爬楼梯
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。
每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。
请你找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。
状态转移方程
dp[i] = min(dp[i-1], dp[i-2]) + dp[i];
边界条件
dp[0] = cost[0], dp[1] = cost[1]
这题总感觉题目描述得不太行,cost数组中的最后一个元素并不是最高层,而是最高层的下面的一个楼层。同时,题目隐含了最高层所需体力值为0这个条件。
算是第一次独立用动态规划方法做出动态规划的题吧,第一天就刷到这了,暑假继续加油。
class Solution {public:int minCostClimbingStairs(vector<int>& cost) {int top = cost.size() - 1;int dp[1005] = {0};for(int i = 0; i <= top; i++)dp[i] = cost[i];for(int i = 2; i <= top+1; i++)dp[i] = min(dp[i-1], dp[i-2]) + dp[i];return dp[top+1];}
};
LeetCode动态规划 使用最小花费爬楼梯相关推荐
- 动态规划——使用最小花费爬楼梯(Leetcode 746)
题目选自Leetcode 746.使用最小花费爬楼梯 题目描述: 解题代码:C语言 int minCostClimbingStairs(int* cost, int costSize) {int pr ...
- leetcode - 746. 使用最小花费爬楼梯
746. 使用最小花费爬楼梯 -------------------------------------- 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i] (索引 ...
- Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
746. 使用最小花费爬楼梯 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi. 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶 ...
- 85. Leetcode 746. 使用最小花费爬楼梯 (动态规划-基础题)
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用.一旦你支付此费用,即可选择向上爬一个或者两个台阶.你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯 ...
- [leetcode]746. 使用最小花费爬楼梯
动态规划: dp[i]表示爬上第i级楼梯的最小花费 class Solution {public:int minCostClimbingStairs(vector<int>& co ...
- 【leetcode】使用最小花费爬楼梯 c++
题目描述: 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用.一旦你支付此费用,即可选择向上爬一个或者两个台阶. 你可以选择从下标为 0 或下标为 1 的 ...
- Leetcode 746.使用最小花费爬楼梯
Time: 20190904 Type: Easy 考察:动态规划 题目描述 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi. 每当你爬上一个阶梯你都要花费对应的体力 ...
- [leetcode] 746.使用最小花费爬楼梯
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始). 每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶 ...
- leetcode 746. 使用最小花费爬楼梯(dp)
数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi. 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯. 您需要找到达到楼层顶部的 ...
最新文章
- 计算机基础原理知识,计算机基础知识之计算机的工作原理
- iOS之性能优化·优化App界面的渲染与流畅度
- Django model 字段类型及选项解析(一)
- 华北水利水电大学c语言实验报告八2020,2021年华北水利水电大学级C语言实验报告.doc...
- 95-110-020-源码-Env-StreamExecutionEnvironment
- 拿来即用的 Python 时间范围判断方法
- java人账户atm模拟存款,模拟银行ATM系统(基础版)
- 最简单的TCP网络封包解包(补充)-序列化
- 亲测沉梦Free免费易支付系统源码支持码支付
- 【HAVENT原创】CentOS 6.5 安装nodeJS
- iis php 0xc0000135,WinXP安装应用程序时出现0xc0000135失败的解决方法
- 了解与MDIO/MDC接口相关的22号、45号条款
- 华东师范大学计算机试题,(华东师范大学计算机考试习题.doc
- 论文笔记:Object Detection in 20 Years: A Surve(目标检测20年研究综述)
- ES6新增关键字:let和const及let的常用场景
- windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)
- python错误与异常(try/except 和 try/except...else)
- 数据挖掘与机器学习:顺序与选择结构
- stm32使用SPI对W25Q64--8M字节FLASH的读写
- 科普| USB接口,你真的懂吗?
热门文章
- Android之MVVM框架 - 数据绑定
- mysql分页原理和sqlserver里面序列的用法
- python 新建html_Python学习第226课——html中创建按钮
- 有些人还活着,被你一按就死了。。 | 今日最佳
- 每日一笑 | 如果把大脑看成CPU的话...
- Kaggle 发布首份数据科学从业报告 | 不及美国同行1/3,中国数据科学家平均年薪约3万美元
- rabbitmq入门_Rabbit MQ 入门
- python with循环_Python for循环、while循环
- 数字怎么横 竖排_从这些数字更深入了解打包箱房
- 如何证明服从卡方分布_谈谈抽样分布定理