当前位置: 首页 > news >正文

LeetCode 746:使用最小花费爬楼梯 —— 题解笔记

LeetCode 746:使用最小花费爬楼梯 —— 题解笔记

🔗 题目链接

👉 https://leetcode.cn/problems/min-cost-climbing-stairs/


📖 内容概要

给定一个数组cost,其中cost[i]表示登上第i阶楼梯所需支付的费用。
你可以从第0阶或第1阶开始,支付该台阶的费用后继续向上
求到达顶层(楼顶)的最小花费。

✅ 动态规划
✅ 一维 DP
✅ 与「爬楼梯」「斐波那契」高度相似


💡 解题思路

一、状态定义(非常关键)

dp[i]=到达第 i 阶楼梯的最小花费

⚠️ 注意:
到达第i阶时,还没有支付cost[i]


二、状态转移方程

到达第i阶,只能来自:

  • i-1阶,再跨 1 步
  • i-2阶,再跨 2 步
dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])

三、初始条件

dp[0]=0;// 起点dp[1]=0;// 可以从第 1 阶开始

四、最终结果

returndp[n];

楼顶在第n阶(数组外)


✅ AC 代码(Java)

classSolution{publicintminCostClimbingStairs(int[]cost){intn=cost.length;int[]dp=newint[n+1];dp[0]=0;dp[1]=0;for(inti=2;i<=n;i++){dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);}returndp[n];}}

⏱️ 复杂度分析

指标复杂度
时间复杂度O(n)
空间复杂度O(n)(可优化为 O(1))

📌 三题横向对比

题目本质状态转移初始条件
509. 斐波那契数(Fibonacci Number)递推f(i)=f(i-1)+f(i-2)f(0)=0, f(1)=1
70. 爬楼梯(Climbing Stairs)方案数dp[i]=dp[i-1]+dp[i-2]dp[0]=1, dp[1]=1
746. 最小花费爬楼梯最小代价dp[i]=min(dp[i-1]+c[i-1], dp[i-2]+c[i-2])dp[0]=0, dp[1]=0

✅ 三者关系图

Fibonacci → 爬楼梯 → 最小花费爬楼梯 (基础递推)(组合计数)(带权最优解)

👉这是 DP 学习的标准演进路线


✅ 空间优化(进阶)

intprev2=0,prev1=0;for(inti=2;i<=cost.length;i++){intcurr=Math.min(prev1+cost[i-1],prev2+cost[i-2]);prev2=prev1;prev1=curr;}returnprev1;

📌 面试一句话总结

这道题是“带权重的爬楼梯”,状态转移和斐波那契几乎一样,只是从求和变成了取最小值。

http://www.cnnetsun.cn/news/2748272.html

相关文章:

  • 基于ESP8266与Blynk的智能家居系统:从硬件设计到物联网应用实战
  • ROS2 数据不在现场也能看:Ubuntu 22.04 用 Foxglove Bridge + cpolar 远程看话题和图像流
  • 电路设计入门:从原理图到PCB,手把手制作可调光LED台灯
  • 别再只怪固态硬盘!从TRIM和垃圾回收机制,看懂格式化后数据恢复的真相
  • 告别996?用AI重构工作流后,效率暴涨
  • 从ChatGPT到离职预警中台:AI工具整合失败的5个致命断点,90%的CTO在第3步就已失控
  • 基于ESP8266的WiFi同步OLED复古时钟:物联网开发实战指南
  • 微信好友关系终极检测:5分钟快速识别单向好友的完整指南
  • MATLAB实现的D-S证据融合工具集:含主融合函数与全套DST辅助计算模块
  • 从控制理论到射频电路:一个视频讲透奈奎斯特判据在ADS中的应用
  • Kafka拷打!!!
  • ICode竞赛Python一级通关秘籍:手把手教你搞定路线规划题(附20关代码详解)
  • 从零开始电路设计:智能感温杯垫实战与电子制作全流程解析
  • 基于免疫机制增强的MATLAB物流路径求解工具包(含真实数据与动态可视化)
  • 本科生可用的坐姿监测系统源码:带训练模型、语音提醒和图形界面
  • NAS跑大模型实战:GLM-5在家庭服务器上的部署与优化
  • AI工具链如何重塑CISSP/CEH认证路径:5大不可逆趋势与3步迁移方案
  • MCA Selector:让你的Minecraft世界重获新生的智能管家
  • MATLAB遗传算法实战:手把手教你为外卖站点或前置仓做智能选址排线
  • 单北斗GNSS在桥梁与大坝变形监测中的应用与发展分析
  • Navicat Mac版终极重置教程:3步解锁永久免费试用
  • 用Makey Makey自制久坐提醒传感器:从物理开关到健康管理
  • 基于聊天应用的远程患者管理:从工具到平台的医疗模式创新
  • 别再手动画进度条了!用Excel的复选框和COUNTIF函数,5分钟搞定动态项目仪表盘
  • VisualCppRedist AIO项目下载异常的处理与优化指南
  • ESP8266-01S双模式切换全攻略:从AT指令调试到固件烧录,一套接线搞定
  • transformer 挑战者 mamba 架构,线性attention RNN给改进iclr 2024拒稿
  • C++ MPI多进程协同筛素数:从基础分区到通信优化的完整实现包
  • 2017-2025年第一至十批绿色工厂名单匹配数据
  • 实战避坑:在Omni-Path或Slingshot网络中配置Dragonfly路由算法