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

LeetCode746:使用花费最小爬楼梯

题目链接:746. 使用最小花费爬楼梯 - 力扣(LeetCode)

代码如下

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int m = cost.size();if(m == 1)  return min(cost[1], cost[0]);if(m == 0)  return cost[0];vector<int> dp(m + 1, 0);for(int i = 2; i < m + 1; i++){dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}return dp[m];}
};

        这个问题也就是我们需要最小的花费爬楼梯,首先先想到动态规划里面的解题步骤,我们先定义dp[i]的含义,dp[i]也就是我们爬到顶楼花费最小,这个时候数组的最后一个索引不是顶楼,而是N+1,一次只能爬一次或者两次。然后初始化这个dp,其实我们想想,最主要影响的dp是cost这个花费,而不是dp[i]。例如dp[i - 1]这个意思也就是我最后一步加上cost[i - 1]这个值,最后花费最少。虽说这个题目不写这个也能通过,但我建议还是注意判断cost数组为0和1的情况。

http://www.lryc.cn/news/442261.html

相关文章:

  • 列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()
  • 【资料分析】刷题日记3
  • 基于SpringBoot+Vue的商场停车场管理系统
  • 4. 密码协议
  • 基于嵌入式的智能物流柜( 触摸屏/0.96寸oled屏)
  • VSCode创建C++项目和编译多文件
  • 7个提升网站分页体验的 CSS 和 JavaScript 代码片段
  • C++——用带有默认参数的函数实现,求两个整数或三个整数中的最大数。
  • 对商品分类系统的若干问题的思考
  • javascript中Number 类型 在实际开发中常用的一些操作方法
  • 部分解决FDTD安装后,matlab指令fopen报错
  • [python3] 处理函数的重试
  • 鸿蒙开发之ArkTS 界面篇 一
  • 嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)
  • 【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))
  • 【刷题日记】43. 字符串相乘
  • Verilog学习之旅~
  • linux之mysql安装
  • 单身狗的逆袭之路之开发相亲交友系统
  • 【Spring】IocDI详解(6)
  • Redis系列之底层数据结构SDS
  • 【STM32】esp8266连接wifi
  • 网络运维故障处理
  • C++第十一节课 new和delete
  • 【爱给网-注册安全分析报告-无验证方式导致安全隐患】
  • 苹果为什么不做折叠屏手机?
  • 目标检测经典算法的个人理解
  • FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate区别
  • 《程序猿之设计模式实战 · 策略模式》
  • deepinlinux-v23用deepinunioncode初始c例子