有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何打印最佳路径以获得矩阵中的最大路径和

这是我在nxm矩阵中求最大权重的代码

    public static int[][] maxSum(int[][] matrix, int m, int n) {
        int[][] totalWeight = new int[m+1][n+1];
        int rightSum = 0, downSum = 0, diagonalSum = 0;
        totalWeight[0][0] = matrix[0][0];

        //fill the first row of totalWeight array from matrix array row
        for (int i = 1; i < matrix.length; i++) {
            totalWeight[i][0] =totalWeight[i-1][0] + matrix[i][0];
        }

        //fill the first column of totalWeight array from matrix array column   
        for (int j = 1; j < matrix.length; j++) {
            totalWeight[0][j]=totalWeight[0][j-1] + matrix[0][j];
        }

        //fill the remaining indices with the max value 
        for (int i = 1; i < totalWeight.length; i++)
            for (int j = 1; j < totalWeight.length; j++) {
                rightSum=totalWeight[i-1][j]+matrix[i][j];
                downSum=totalWeight[i][j-1]+matrix[i][j];
                diagonalSum=totalWeight[i-1][j-1]+matrix[i][j];
                totalWeight[i][j] = Math.max(rightSum,Math.max(downSum,diagonalSum));
                
            }
        return totalWeight;

    }

从左上角索引开始,可以向下、向右或对角移动到右下角索引

我需要帮助找到一种方法来打印从索引(0,0)到索引(n,m)的路径,这将给出最大和


共 (0) 个答案