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

代码随想录34 动态规划

1.经典问题:

背包问题

打家劫舍

斐波那契数列

爬楼梯问题

股票问题

2.dp数组以及下标的含义

3.递推公式

3.dp数组初始化

4.遍历顺序

5.打印数组

leetcode509.斐波那契数列

1.确定dp[i]含义 dp[i]第i个斐波那契数的值为dp[i]

2.递推公式:dp[i]=dp[i-1]+dp[i+2]

3.dp数组如何初始化 dp[0]=1   dp[1]=1(很多时候,初始化是依赖递推公式的)

4.遍历顺序

5.打印数组

如果小于等于1,一定要直接输出,挡在后面初始化前面,要不然会报错

class Solution {
public:
    int fib(int N) {
        if (N <= 1) return N;
        vector<int> dp(N + 1);
        dp[0] = 0;
        dp[1] = 1;
        for (int i = 2; i <= N; i++) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[N];
    }
};

 

leetcode70.爬楼梯

楼梯的每一层都是基于前面一层或是前前一层的,就是换皮的斐波那契数列

class Solution {
public:
    int climbStairs(int n) {
        vector<int>louti(n+1);//括号里是要初始化多少个数组元素
        if(n==1){
            return 1;
        }
        else if(n==2){
            return 2;
        }
        louti[1]=1;
        louti[2]=2;
        for(int i=3;i<=n;i++){
            louti[i]=louti[i-1]+louti[i-2];
        }
        return louti[n];
    }
};


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

相关文章:

  • 低代码系统-产品架构案例介绍、轻流(九)
  • cherry USB 键盘分析
  • 【字符串两大注意事项】
  • 第11章:根据 ShuffleNet V2 迁移学习医学图像分类任务:甲状腺结节检测
  • pytorch基于GloVe实现的词嵌入
  • 实验八 JSP访问数据库
  • C动态库的生成与在Python和QT中的调用方法
  • 猿人学web 19题(js逆向)
  • 为AI聊天工具添加一个知识系统 之70 详细设计 之11 维度运动控制的应用:上下文受控的自然语言
  • Git进阶之旅:Git 分支管理
  • gcc和g++的区别以及明明函数有定义为何链接找不到
  • 计算机网络——流量控制
  • CSS 溢出内容处理:从基础到实战
  • 解锁豆瓣高清海报(一) 深度爬虫与requests进阶之路
  • [EAI-029] RoboVLMs,基于VLM构建VLA模型的消融研究
  • Ubuntu 系统,如何使用双Titan V跑AI
  • Learning Vue 读书笔记 Chapter 3
  • 每日一博 - 三高系统架构设计:高性能、高并发、高可用性解析
  • 扩展无限可能:Obsidian Web Viewer插件解析
  • buuuctf_秘密文件
  • 亚博microros小车-原生ubuntu支持系列:18 Cartographer建图
  • 衡水市城区小区地图)矢量高清cdr|pdf大图内容测评
  • Leetcode:541
  • pytorch基于FastText实现词嵌入
  • java求职学习day23
  • 指针(C语言)从0到1掌握指针〕带你探究计算机神奇的秘密