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

代码随想录算法训练营day32

1.斐波那契数列

1.1 题目

. - 力扣(LeetCode)

1.2 题解

class Solution 
{
public:
    int fib(int n) 
    {
        if(n==0)return 0;
        if(n==1)return 1;
        //确定dp数组,dp[n]表示第n个斐波那契数数值
        vector<int> dp(n+1);
        //确定递推公式
        //dp[n]=dp[n-1]+dp[n-2];
        //初始化dp数组
        dp[0]=0;
        dp[1]=1;
        //前序遍历
        for(int i=2;i<=n;i++)
        {
            dp[i]=dp[i-1]+dp[i-2];
        }

        return dp[n];
    }
};

2.爬楼梯

2.1 题目

. - 力扣(LeetCode)

2.2题解

class Solution 
{
public:
    int climbStairs(int n) 
    {
        //确定dp数组,dp[n]表示爬到n阶有几种方法
        vector<int> dp(n+1);
        //确定递推公式
        //dp[n]=dp[n-1]+dp[n-2]
        //初始化dp数组
        dp[0]=1;
        dp[1]=1;
        //递归,前序遍历
        for(int i=2;i<=n;i++)
        {
            dp[i]=dp[i-1]+dp[i-2];
        }
        return dp[n];
    }
};

3.使用最小花费爬楼梯

3.1 题目

. - 力扣(LeetCode)

3.2 题解

class Solution 
{
public:
    int minCostClimbingStairs(vector<int>& cost) 
    {
        //确定dp数组,dp[n]表示爬到第n层楼梯的最低消费
        vector<int> dp(cost.size()+1);
        //确定递推公式
        //dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])
        //初始化
        dp[0]=0;
        dp[1]=0;
        for(int i=2;i<=cost.size();i++)
        {
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[cost.size()];
    }
};

http://www.kler.cn/a/300731.html

相关文章:

  • 对话 TDengine 解决方案中心总经理陈肃:构建技术与市场的桥梁
  • 单元测试与unittest框架
  • STM32的集成开发环境STM32CubeIDE安装
  • 基于Oracle与PyQt6的电子病历多模态大模型图形化查询系统编程构建
  • OpenCV相机标定与3D重建(55)通用解决 PnP 问题函数solvePnPGeneric()的使用
  • DHCP详解和部署
  • 4WRA6E07-2X/G24N9K4/VL配套HE-SP2比例放大器
  • 53 - I. 在排序数组中查找数字 I
  • Trinamic医疗成功的事例之TMCM611
  • QSoundEffect 用于播放一些单调简单的声音
  • Python画笔案例-045 绘制渐变圆盘
  • 国产视频转换HDMI1.4转单/双MIPI DSI/CSI LT6911C芯片方案,带音频输出,QFN64封装 Lontium
  • JDBC连接数据库
  • git版本问题Your branch is behind ‘origin/dev‘by 2 commits,
  • C语言中的磁盘映射与共享内存详解
  • C++设计模式——State状态模式
  • 基于开源链动 2 + 1 模式、AI 智能名片与 S2B2C 商城小程序的用户忠诚度计划
  • C# UDP与TCP点发【速发速断】模式
  • HTML5中`<area>`标签深入全面解析
  • 学习笔记|《白话机器学习的数学》
  • OpenCV结构分析与形状描述符(19)查找二维点集的最小面积外接旋转矩形函数minAreaRect()的使用
  • C++中的for-each循环
  • 单例模式解析
  • 基于高通主板的ARM架构服务器
  • 深入理解Java虚拟机:Jvm总结-虚拟机字节码执行引擎
  • 面试常见题之java