最短路径问题

class Solution {

public:

int uniquePaths(int m, int n) {

vector<vector<int>> ret(m+1,vector<int>(n+1,0));

ret[0][1]=1;

for(int i=1;i<=m;i++){

for(int j=1;j<=n;j++){

ret[i][j]=ret[i-1][j]+ret[i][j-1];

}

}

return ret[m][n];

}

};

class Solution {

public:

int uniquePathsWithObstacles(vector<vector<int>>& obs) {

int m=obs.size(),n=obs[0].size();

vector<vector<int>> ret(m+1,vector<int>(n+1,0));

ret[0][1]=1;

for(int i=1;i<=m;i++){

for(int j=1;j<=n;j++){

if(obs[i-1][j-1]==0)

ret[i][j]=ret[i-1][j]+ret[i][j-1];

}

}

return ret[m][n];

}

};

class Solution {

public:

int jewelleryValue(vector<vector<int>>& f) {

int m=f.size(),n=f[0].size();

vector<vector<int>> ret(m+1,vector<int>(n+1,0));

for(int i=1;i<=m;i++){

for(int j=1;j<=n;j++){

ret[i][j]=f[i-1][j-1]+max(ret[i-1][j],ret[i][j-1]);

}

}

return ret[m][n];

}

};

class Solution {

public:

int minFallingPathSum(vector<vector<int>>& mat) {

int n=mat.size();

vector<vector<int>> ret(n+1,vector<int>(n+2,INT_MAX));

for(int i=0;i<n+2;i++) ret[0][i]=0;

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++){

ret[i][j] = min(ret[i - 1][j - 1], min(ret[i - 1][j], ret[i - 1][j

  • 1])) + mat[i - 1][j - 1];

}

}

int a=INT_MAX;

for(int j=1;j<=n;j++) a=min(ret[n][j],a);

return a;

}

};

class Solution {

public:

int minPathSum(vector<vector<int>>& grid) {

int m=grid.size(),n=grid[0].size();

vector<vector<int>> ret(m+1,vector<int>(n+1,INT_MAX));

//for(int i=0;i<=m;i++) ret[0][i]=0;

//for(int j=0;j<=n;j++) ret[j][0]=0;

ret[0][1]=0;ret[1][0]=0;

for(int i=1;i<=m;i++){

for(int j=1;j<=n;j++){

ret[i][j]=grid[i-1][j-1]+min(ret[i-1][j],ret[i][j-1]);

}

}

return ret[m][n];

}

};

lass Solution {

public:

int calculateMinimumHP(vector<vector<int>>& dung) {

int m=dung.size(),n=dung[0].size();

vector<vector<int>> ret(m+1,vector<int>(n+1,INT_MAX));

ret[m][n-1]=1,ret[m-1][n]=1;

for(int i=m-1;i>=0;i--){

for(int j=n-1;j>=0;j--){

ret[i][j]=min(ret[i+1][j],ret[i][j+1])-dung[i][j];

ret[i][j]=max(1,ret[i][j]);

}

}

return ret[0][0];

}

};

相关推荐
小江的记录本1 小时前
【JEECG Boot】 《JEECG Boot 数据字典使用教程》(完整版)
java·前端·数据库·spring boot·后端·spring·mybatis
啦啦啦!1 小时前
项目环境的搭建,项目的初步使用和deepseek的初步认识
开发语言·c++·人工智能·算法
AI成长日志1 小时前
【笔面试算法学习专栏】链表操作·基础三题精讲(206.反转链表、141.环形链表、21.合并两个有序链表)
学习·算法·面试
Access开发易登软件1 小时前
在 Access 中实现 Web 风格 To Do List
前端·数据结构·microsoft·list·vba·access·access开发
算法鑫探1 小时前
2025 图形(蓝桥杯十六届C组程序题 C 题)
c语言·数据结构·算法·新人首发
鲸渔1 小时前
【C++ 变量与常量】变量的定义、初始化、const 与 constexpr
java·开发语言·c++
i220818 Faiz Ul1 小时前
教育资源共享平台|基于springboot + vue教育资源共享平台系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·教育资源共享平台
玛卡巴卡ldf1 小时前
【Springboot7】ApachePOI文件导入导出
java·spring boot·sql
编程大师哥1 小时前
VSCode中如何搭建JAVA+MAVEN
java·vscode·maven
田梓燊1 小时前
leetcode 54
算法·leetcode·职场和发展