(动态规划路径基础 最小路径和)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;
}
相关推荐
Xの哲學3 小时前
Linux SKB: 深入解析网络包的灵魂
linux·服务器·网络·算法·边缘计算
无限进步_3 小时前
【C语言&数据结构】二叉树遍历:从前序构建到中序输出
c语言·开发语言·数据结构·c++·算法·github·visual studio
CodeByV3 小时前
【算法题】哈希
算法·哈希算法
独自破碎E3 小时前
【层序遍历】序列化二叉树
leetcode
天赐学c语言3 小时前
1.14 - 用栈实现队列 && 对模板的理解以及模板和虚函数区别
c++·算法·leecode
高洁013 小时前
AI智能体搭建(3)
人工智能·深度学习·算法·数据挖掘·知识图谱
不知名XL4 小时前
day24 贪心算法 part02
算法·贪心算法
AI科技星4 小时前
时空几何:张祥前统一场论20核心公式深度总结
人工智能·线性代数·算法·机器学习·生活
菜鸟233号4 小时前
力扣518 零钱兑换II java实现
java·数据结构·算法·leetcode·动态规划
咋吃都不胖lyh4 小时前
Haversine 距离算法详解(零基础友好版)
线性代数·算法·机器学习