矩阵中的最长递增路径

Posted Alice_yufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵中的最长递增路径相关的知识,希望对你有一定的参考价值。

class Solution 
    public int[][] dirs = -1, 0, 1, 0, 0, -1, 0, 1;
    public int rows, columns;

    public int longestIncreasingPath(int[][] matrix) 
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) 
            return 0;
        
        rows = matrix.length;
        columns = matrix[0].length;
        int[][] memo = new int[rows][columns];
        int ans = 0;
        for (int i = 0; i < rows; ++i) 
            for (int j = 0; j < columns; ++j) 
                ans = Math.max(ans, dfs(matrix, i, j, memo));
            
        
        return ans;
    

    public int dfs(int[][] matrix, int row, int column, int[][] memo) 
        if (memo[row][column] != 0) 
            return memo[row][column];
        
        ++memo[row][column];
        for (int[] dir : dirs) 
            int newRow = row + dir[0], newColumn = column + dir[1];
            if (newRow >= 0 && newRow < rows && newColumn >= 0 && newColumn < columns && matrix[newRow][newColumn] > matrix[row][column]) 
                memo[row][column] = Math.max(memo[row][column], dfs(matrix, newRow, newColumn, memo) + 1);
            
        
        return memo[row][column];
    

以上是关于矩阵中的最长递增路径的主要内容,如果未能解决你的问题,请参考以下文章

329. 矩阵中的最长递增路径

LeetCode. 矩阵中的最长递增路径

LeetCode 0329. 矩阵中的最长递增路径

题目地址(329. 矩阵中的最长递增路径)

python-leetcode329-深度优先搜索矩阵中的最长递增路径

矩阵中的最长递增路径