(动态规划路径基础 最小路径和)leetcode 64

视频教程

1.初始化dp数组,初始化边界

2、从[1行到n-1行][1列到m-1列]依次赋值

cpp 复制代码
#include<vector>
#include<algorithm>
#include <iostream>

using namespace std;
int main()
{
    vector<vector<int>> grid = { {1,3,1},{1,5,1},{4,2,1} };
    
    vector<vector<int>> dp(grid.size(), vector<int>(grid[0].size(), 0));
    dp[0][0] = grid[0][0];
    for (int i = 1;i < grid[0].size();i++)
    {
        dp[0][i] = grid[0][i] + dp[0][i-1];
    }
    for (int i = 1;i < grid.size();i++)
    {
        dp[i][0] = grid[i][0] + dp[i-1][0];
    }

    for (int i = 1;i < grid.size();i++)
    {
        for (int j = 1;j < grid[0].size();j++)
        {
            dp[i][j] = min(dp[i - 1][j], dp[i][j - 1])+grid[i][j];


        }
  }
    cout << dp[grid.size()-1][grid[0].size() - 1] << endl;
    for (int i = 0;i < dp.size();i++)
    {
        for (auto n : dp[i])
        {
            cout << n<<" ";
        }
        cout << endl;
   }
    return 0;
}
相关推荐
大熊猫侯佩40 分钟前
Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
算法·swift
杰克尼1 小时前
2. 两数相加
算法
无聊的小坏坏1 小时前
单调栈通关指南:从力扣 84 到力扣 42
c++·算法·leetcode
_Coin_-1 小时前
算法训练营DAY29 第八章 贪心算法 part02
算法·贪心算法
阿维同学1 小时前
自动驾驶关键算法深度研究
人工智能·算法·自动驾驶
今天背单词了吗9802 小时前
算法学习笔记:11.冒泡排序——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·学习·算法·排序算法·冒泡排序
倔强的小石头_5 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
Yasin Chen5 小时前
C# Dictionary源码分析
算法·unity·哈希算法
_Coin_-6 小时前
算法训练营DAY27 第八章 贪心算法 part01
算法·贪心算法
董董灿是个攻城狮11 小时前
5分钟搞懂什么是窗口注意力?
算法