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

dp--校训

题目一:斐波那契数

509. 斐波那契数 - 力扣(LeetCode)

代码1(递归)

class Solution {
public:
    int fib(int n) {
        if(n==0 || n==1) return n;
        return fib(n-1) + fib(n-2);
    }
};

代码2(dp打表)

class Solution {
public:
    int fib(int n) {
        if(n==0) return 0;
        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];
    }
};

题目二: 爬楼梯

70. 爬楼梯 - 力扣(LeetCode)

代码

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

代码2

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

题目三:最小路径和

64. 最小路径和 - 力扣(LeetCode)

代码

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int m = grid.size();
        int n = grid[0].size();

        vector<vector<int>> dp(m,vector<int>(n));
        dp[0][0] = grid[0][0];
        for(int j = 1; j < n; j ++) dp[0][j] = dp[0][j-1]+grid[0][j];
        for(int i = 1; i < m; i ++) dp[i][0] = dp[i-1][0]+grid[i][0];
        for(int i = 1; i < m; i ++) {
            //dp[i][0] = dp[i-1][0] + grid[i][0];
            for(int j = 1; j < n; j ++) {
                dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
            }
        }
        return dp[m-1][n-1];
    }
};


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

相关文章:

  • 计算机网络八股文学习笔记
  • 数据仓库基础常见面试题
  • ZYNQ初识10(zynq_7010)UART通信实验
  • JAVA安全编码规范
  • 哈夫曼、算术、LZ编码
  • PostgreSQL 超级管理员详解
  • Python 扫描枪读取发票数据导入Excel
  • 教育邮箱的魔力:免费获取Adobe和JetBrains软件
  • 云原生作业1
  • 使用 WPF 和 C# 将纹理应用于三角形
  • ubuntu 安装 python
  • 【数据库系统概论】数据库恢复技术
  • 【机器学习 | 数据挖掘】离群点检测
  • WPS计算机二级•表格函数计算
  • 服务器数量多迁移麻烦怎么办?
  • Ubuntu服务器提示:检测到存在恶意文件,补救思路
  • Laravel 中 Cache::remember 的基本用途
  • 近期SQL笔记
  • 【C++】指针
  • RabbitMQ-消息消费确认
  • ArkTS 组件事件、状态管理与资源管理
  • 图生生 AI 绘画,根据文字描述生成图片
  • 深入理解 ECMAScript 2024 新特性:正则表达式 /v 标志
  • 数据结构的存储方式
  • 【已解决】git clone报错:Failed to connect to github.com port 443: Timed out
  • Nginx安全加固系列:Referrer-Policy