力扣 329. 矩阵中的最长递增路径
路径 矩阵 最长 力扣 递增
2023-09-27 14:29:07 时间
题目链接:https://leetcode.cn/problems/longest-increasing-path-in-a-matrix/
题目描述:
解题思路:
dfs+记忆化,对每个格子求它的最长递增路径,然后取最大值
代码如下
class Solution {
public:
int dp[205][205];
int n,m;
int f[4][2]={{0,1},{1,0},{-1,0},{0,-1}};
int dfs(int x,int y,vector<vector<int>> &a){
if(dp[x][y]!=-1) return dp[x][y];
dp[x][y]++;
for(int i=0;i<4;i++){
int xx=x+f[i][0];
int yy=y+f[i][1];
if(xx<0||xx>=n||yy<0||yy>=m||a[x][y]>=a[xx][yy]) continue;
//cout<<xx<<" "<<yy<<" "<<endl;
dp[x][y]=max(dp[x][y],dfs(xx,yy,a)+1);
}
return dp[x][y];
}
int longestIncreasingPath(vector<vector<int>>& matrix) {
n=matrix.size();
m=matrix[0].size();
memset(dp,-1,sizeof dp);
int maxn=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
//cout<<dp[i][j]<<endl;
maxn=max(maxn,dfs(i,j,matrix));
}
}
return maxn+1;
}
};
相关文章
- 【LeetCode】矩阵中的最长递增路径 [H](记忆化搜索)
- 【ROS-Navigation】—— DWA路径规划算法解析
- 图算法(二十七):带过滤全最短路径(Filtered All Shortest Paths)【在最短路径算法(Shortest Path)基础上支持条件过滤,寻找图中两节点之间满足条件的全最短路径】
- 【路径规划】基于前向动态规划算法在地形上找到最佳路径(Matlab代码实现)
- 获取Data和Log默认路径
- 矩阵中和能被 K 整除的路径 leetcode第314周赛第四题
- Java 在给定路径上创建文件,所在文件夹不存在时,如何正确创建。
- [leetcode] Path sum路径之和
- unity 可获取的路径
- LeetCode_动态规划_中等_931.下降路径最小和
- 【数据结构】图-最短路径算法
- 【Layui】在使用open方法弹出子页面时,路径地址不对,报错,解决方案
- asp.net中获取网站根目录和物理路径的方法
- RMAN异机复制数据库(相同路径)
- SRM 627 D1L2GraphInversionsDFS查找指定长度的所有路径 Binary indexed tree (BIT)
- 【luogu P7736】路径交点(LGV引理)(DP)(矩阵乘法)
- java中iofile的路径问题,确定一个未知方法所需要的文件路径
- Linux生成core文件、core文件路径设置