public static int minPath(int[][] a) {
if (a == null || a.length == 0) {
return 0;
}
int low = a.length;
int col = a[0].length;
int[][] minPath = new int[low][col];
minPath[0][0] = a[0][0];
for (int i = 1; i < low; i++) {
minPath[0][i] = minPath[0][i - 1] + a[0][i];
}
for (int j = 1; j < col; j++) {
minPath[j][0] = minPath[j - 1][0] + a[j][0];
}
for (int i = 1; i < low; i++) {
for (int j = 1; j < col; j++) {
minPath[i][j] = Math.min(minPath[i - 1][j], minPath[i][j - 1]) + a[i][j];
}
}
return minPath[low - 1][col - 1];
}
数组最小路径算法
最新推荐文章于 2024-07-20 23:59:39 发布