【动态规划-简单】剑指 Offer II 088. 爬楼梯的最少成本

Android 13/14/15 默认授权应用权限的实现方法 Android版本修改方式实现原理13/14修改Permission.java将所有权限标记为Normal权限15修改DeviceIdleController.java + DefaultPermissionGrantPolicy.java监听应用安装并主动授权。 阅读详情

【题目】
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。

每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。

请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。

示例 1:

输入:cost = [10, 15, 20]
输出:15
解释:最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15 。

示例 2:

输入:cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1]
输出:6
解释:最低花费方式是从 cost[0] 开始,逐个经过那些 1 ,跳过 cost[3] ,一共花费 6 。

提示:

2 <= cost.length <= 1000
0 <= cost[i] <= 999

注意:本题与主站 746 题相同
【代码】
【方法1:递归】超时
在这里插入图片描述

class Solution:
    def spend(self,cost,index):
        if index>=len(cost):
            return 0
        return cost[index]+min(self.spend(cost,index+1),self.spend(cost,index+2))
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        cost=[0]+cost
        return self.spend(cost,0)

【方法2:动态规划】
在这里插入图片描述

class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        dp=[0 for i in range(len(cost)+1)]
        dp[1]=cost[0]
        cost=[0]+cost
        for i in range(2,len(cost)):
            dp[i]=min(dp[i-1]+cost[i],dp[i-2]+cost[i])
        return min(dp[-1],dp[-2])

【写法3:dp】
在这里插入图片描述

class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:
        dp=[0 for i in range(len(cost)+2)]
        dp[1]=cost[0]
        cost=[0]+cost+[0]
        for i in range(2,len(cost)):
            dp[i]=min(dp[i-1]+cost[i],dp[i-2]+cost[i])
        return dp[-1]
[零基础]用docker搭建Hadoop集群 [零基础]用docker搭建Hadoop集群,每一步都有详细的解释! 阅读详情

相关推荐

Cesium WebGL性能调优实战:从卡顿根源到流畅渲染

本文深入探讨Cesium WebGL性能调优的实战技巧,从硬件配置、框架适配到3D Tiles加载策略,全面解决卡顿问题。通过强制启用独立显卡、优化浏览器设置、避免Vue内存陷阱等实用方法,显著提升3D地图应用的流畅度。文章还分享了高级调试工具和实战避坑经验,帮助开发者实现高效渲染。

weixin_27215337的博客 421

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

用两种不同的转态表示解决最小花费怕楼梯问题. 适合初学动态规划的详细步骤解析

这个人很懒, 什么都没留下(这是我写的) 1880

S32K3 eMIOS使用介绍(PWM输出与输入捕获)——基于MCAL

本文基于 S32K3xx系列芯片、S32 Design Studio for S32 Platform开发平台以及EB tresos 28.0.0、 MCAL层,介绍pwm的输出及输入捕获。

HeFlyYoung的博客 2万+

使用最小花费爬楼梯——动态规划基础题

爬楼梯要钱了,怎样最省钱?掌握方法论以及两种方法的不同

m0_58803733的博客 1155

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

PostgreSQL数据库全攻略:从入门到精通

本文是一份PostgreSQL数据库综合指南,涵盖安装配置、基础操作和高级管理。主要内容包括:1) PostgreSQL简介与各平台安装方法;2) 数据库基本操作,如创建数据库/表、CRUD操作、用户权限管理;3) 高级功能包括索引优化、事务控制、视图、存储过程、触发器和扩展模块;4) 数据库管理维护,涉及配置调优、备份恢复、性能监控和日常维护;5) 安全设置与高可用方案。指南提供了从入门到进阶的实用知识,强调结合官方文档进行深入学习,帮助用户高效使用这一功能强大的开源关系型数据库系统。

索大神的博客 1970

【剑指 Offer II】 088. 爬楼梯的最少成本

题目: 数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。 每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。 请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 示例 1: 输入:cost = [10, 15, 20] 输出:15 解释:最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15 。 示例 2: 输入:cost = [1,

漆黑梦工厂 454

TC397 EB配置ADC软件触发:从零实现周期采样与中断处理

本文详细介绍了如何在Infineon AURIX TC397芯片上使用EB Tresos工具配置ADC软件触发,实现周期采样与中断处理。通过硬件连接、EB模块配置、代码初始化及数据处理的全流程解析,帮助开发者快速掌握ADC软件触发技术,提升嵌入式系统开发效率。

root9的博客 234

Leetcode Day7 爬楼梯的最小成本

DP专题(1)

糕糕的博客 559

开尔文四线法与电桥(uΩ电阻检测)

本文介绍了开尔文四线法与电桥在电阻测量中的应用,特别是针对uΩ级别电阻的精确检测。讨论了基本电桥电路的工作原理,强调了开尔文四线法的优势,它能消除导线和接触电阻的影响。文中还提到了测试设备的介绍,包括不同级别的电阻测试,并详细阐述了uΩ级别电阻测试的步骤和注意事项。此外,对比了惠斯通电桥与开尔文电桥,强调了它们在电阻测量中的作用和计算方法。

让你爱上电路设计 7871

ENVI入门系列教程---一、数据预处理---1.1基本操作--5.x以后的界面(新界面)

every blog every motto: You never know how strong you really are until being strong is the only choice you have。 0. 前言 本系列教程旨在系统学习并梳理ENVI。说来惭愧,作为一名GISer,对ENVI这类软件还不能熟练掌握,这也是本系列教程的初衷。种一棵树最好的时间是十年以前,其次是...

胡侃有料的博客 1万+

算法日记day 34(动归之使用最小花费爬楼梯|不同路径2|整数拆分|不同的二叉搜索树)

题目:给你一个整数数组 ,其中 是从楼梯第 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 或下标为 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1: 输入:cost = [10,15,20] 输出:15 解释:你将从下标为 1 的台阶开始。 - 支付 15 ,向上爬两个台阶,到达楼梯顶部。 总花费为 15 。 示例 2: 输入:cost = [1,100,1,1,1,100,1,1,100,1] 输出:6 解释:你将从下标为

m0_74980681的博客 1242

OpenClaw人人养虾:接入即时通讯平台Zalo

通过 Zalo Official Account(OA,官方账号)API,可以将 OpenClaw 接入 Zalo,实现面向越南用户的自动化客服和互动。

王国平的博客 437

leetcode:动态规划--剑指 Offer II 088. 爬楼梯的最少成本

leetcode:动态规划–剑指 Offer II 088. 爬楼梯的最少成本: 剑指 Offer II 088. 爬楼梯的最少成本 数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。 每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。 请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 来源:力扣(LeetCode) 示例 1: 输入:cost = [1

南方硅人的博客 214

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

剑指 Offer II 088. 爬楼梯的最少成本(简单 动态规划 数组)

剑指 Offer II 088. 爬楼梯的最少成本 数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。 每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。 请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 示例 1: 输入:cost = [10, 15, 20] 输出:15 解释:最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15

weixin_43942435的博客 359

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

剑指 Offer II 088. 爬楼梯的最少成本 (动态规划)

剑指 Offer II 088. 爬楼梯的最少成本 (动态规划)

weixin_53261137的博客 137

【leetcode】剑指 Offer II 088. 爬楼梯的最少成本(js实现)

【代码】【leetcode】剑指 Offer II 088. 爬楼梯的最少成本(js实现)

在热爱技术的路上一直前行。 258

LeetCode 剑指 Offer II 动态规划(一) 专题总结

从不会动态规划一步一步成动态规划大神,剑指 Offer || 动态规划88~93题

一只小逸白 1万+

#力扣LeetCode剑指 Offer II 088. 爬楼梯的最少成本 @FDDLC

题目描述: 剑指 Offer II 088. 爬楼梯的最少成本 - 力扣(LeetCode) (leetcode-cn.com) 自测用例: [10,15,20] [3,1,2] [1,10,2] [3,1] [1,2] [3,1,4,1,5,9,2,6] [3,1,4,1,5,9,2,6,3,1,4,1,5,9,2,6,1,2,3,4,5,6,7,8,9,10] Java代码: class Solution { public int minCostClimbingStairs

LiuXingchang的博客 426

Leetcode 剑指 Offer II 088.使用最小花费爬楼梯

题目难度: 简单今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号里回复剑指offer2就能看到该系列当前连载的所有文章了, 记得关注哦~

随便发挥的博客 624

剑指 Offer II 088. 爬楼梯的最少成本

剑指 Offer II 088. 爬楼梯的最少成本https://leetcode.cn/problems/GzCJIP/难度简单42数组的每个下标作为一个阶梯,第 个阶梯对应着一个非负数的体力花费值 (下标从 开始)。每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。示例 1: 输入:cost = [10, 15, 20] 输出:15 解释:最低花费是从 co

肥不溜秋大梅子 137

DP——动态规划入门级教学,什么问题用DP,怎么用DP,三个简单题目帮你理清思路,建立简单DP模板,包教包会

元旦节,动态规划专题

代码之狐的博客 1312

Leetcode刷题笔记——剑指offer II (二)【动态规划】

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:nums = [1,2,3,5] 输出:false 解释:数组不能分割成两个元素和相等的子集。 提示: 1 <= nums.length <= 200 1 <= nums[i] <=

weixin_46934960的博客 1945

剑指 Offer II 087. 复原 IP / 剑指 Offer II 088. 爬楼梯的最少成本

剑指 Offer II 087. 复原 IP / 剑指 Offer II 088. 爬楼梯的最少成本

在彼淇梁的博客 251

【剑指 Offer II 088】爬楼梯的最少成本 c++

爬楼梯的最少成本:数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始),每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。求达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。...

mie haha 253
上一篇: 【动态规划-困难】72. 编辑距离
下一篇: 【动态规划-简单】LCS 01. 下载插件(加倍不下载 ,下载不加倍)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值