public class Main { private static int function(int[][] x) { if (x == null || x.length == 0 || x[0].length == 0) { return 0; } int[] tmp = new int[x[0].length]; tmp[0] = x[0][0]; for (int i = 1;i < x[0].length; ++ i) { tmp[i] = tmp[i - 1] + x[0][i]; } for (int i = 1;i < x.length;++ i) { tmp[0] += x[i][0]; for (int j = 1;j < x[0].length;++ j) { tmp[j] = Math.min(tmp[j - 1], tmp[j]) + x[i][j]; } } return tmp[x[0].length - 1]; } public static void main(String[] args) { int[][] x = {{1, 3, 5, 9}, {8, 1, 3, 4}, {5, 0, 6, 1}, {8, 8, 4, 0}}; System.out.println(function(x)); } }
矩陣最小路徑和
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.