329. Longest Increasing Path in a Matrix
来源:互联网 发布:数据库like用法 编辑:程序博客网 时间:2024/05/22 13:36
class Solution {private: int pathHelper(int i,int j,vector<vector<int>> &matrix,vector<vector<int>> &cache) { if(cache[i][j]!=0) return cache[i][j]; int len=0; int maxlen=0; if(i>0) { if(matrix[i-1][j]>matrix[i][j]) { len=pathHelper(i - 1, j, matrix, cache); maxlen=max(len,maxlen); } } if(i<matrix.size()-1) { if(matrix[i+1][j]>matrix[i][j]) { len=pathHelper(i + 1, j, matrix, cache); maxlen=max(maxlen,len); } } if(j>0) { if(matrix[i][j-1]>matrix[i][j]) { len=pathHelper(i, j - 1, matrix, cache); maxlen=max(maxlen,len); } } if(j<matrix[0].size()-1) { if(matrix[i][j+1]>matrix[i][j]) { len=pathHelper(i, j + 1, matrix, cache); maxlen=max(maxlen,len); } } maxlen=maxlen+1; cache[i][j]=maxlen; return maxlen; }public: int longestIncreasingPath(vector<vector<int>>& matrix) { int n=matrix.size(); if(n==0) return 0; int m=matrix[0].size(); if(m==0) return 0; int maxpath=0; vector<vector<int>> cache(n,vector<int>(m,0)); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { int len=pathHelper(i,j,matrix,cache); maxpath=max(len,maxpath); } return maxpath; }};
1 0
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- 329. Longest Increasing Path in a Matrix
- leetcode Longest Increasing Path in a Matrix
- Linux 实时性能测试工具——Cyclictest 的使用与分析
- 在android的Browser中设置User Agent
- c++创建线程的常见问题:error: invalid conversion from 'void*' to 'void* (*)(void*)'
- Vim学习资料(整理)
- 静默安装vcredist_x86.exe
- 329. Longest Increasing Path in a Matrix
- 卷积与离散自相关
- React Router 使用教程
- uboot开机画面
- Android Studio使用技巧---良心推荐的实用功能
- 工作中遇到的问题总结1(css类)
- Go语言中string的用法(转载)
- 一堆shell脚本技巧
- Android NDK 运行错误:java.lang.UnsatisfiedLinkError: Couldn't load XXX indLibrary returned null