您的位置:首页 > 其它

动态规划之最大矩阵路径

2016-04-28 17:14 267 查看


下面看代码:

import java.util.Scanner;
//动态规划之求矩阵的最大路径和或者最小路径也可以
//递推公式:dp[i][j]=max(dp[i][j-1] , dp[i-1][]j])+map[i][j];
public class main {
static int n;//矩阵的行
static int m;//矩阵的列
static int[][] map;//用来存储矩阵信息
static int[][] dp=new int[100][100];
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
map=new int[n+1][m+1];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
map[i][j]=sc.nextInt();
}
}

for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
dp[i][j]=Math.max(dp[i-1][j], dp[i][j-1])+map[i][j];
}
}
sop(dp);
}
public static void sop(int[][] arr){//dayin打印二维数组的
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}


在这里我并没有直接输出最大路径 而是输出了 dp数组以方便理解递推公式。

有缺点望悉心指出,thanks。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: