动态规划求解迷宫问题

334 阅读1分钟

昨天做了一道dp算法题,大概就是下三角矩阵,从第一层开始,只能选择向下或者向右走,求最大路径和。自底向上的做法如下: import java.util.Scanner; public class Main { public static void main(String[] args) { int row; int[][] mg; Scanner s = new Scanner(System.in); row = s.nextInt(); int max=0; mg = new int[row][row]; for (int i = 0; i < row; i++) { for (int j = 0; j < i + 1; j++) { mg[i][j] = s.nextInt(); } } for (int i = 1; i < row; i++) { for (int j = 0; j < i + 1; j++) { int m1=j>0?(mg[i][j-1]):mg[i][j]; int m2=mg[i-1][j]; mg[i][j]=m1>m2?m1:m2+mg[i][j]; } } for(int i=0;i<row;i++){ max=max<mg[row-1][i]?mg[row-1][i]:max; } System.out.println(max); } }