一個矩陣 從左上角開始 移動 只能向下移動 或者向右移動 選出 走過所有的節點上數字的和的 最大值 並求出有最大值路徑是什麼
阿新 • • 發佈:2018-12-08
public class Bonus { public static void main(String[] args) { int[][] arr1 = {{1,2,4,500},{8,3,3,2},{4,5,6,8},{1,3,4,6}}; System.out.println(getMost(arr)); } public static int getMost(int[][] board) { int[][] arr = new int[board.length][board[0].length]; for(int i = 0;i<board.length;i++){ for(int j = 0;j<board[0].length;j++){ int b = board[i][j]; if(i==0&&j==0) arr[i][j] = b; else if(i==0){ arr[i][j] = arr[i][j-1]+b; }else if (j==0) { arr[i][j] = arr[i-1][j]+b; }else{ arr[i][j] = Math.max(arr[i][j-1], arr[i-1][j])+b; } System.out.println(arr[i][j] +"\t"+b + "\t"+ i +"\t" + j); } } return arr[board.length-1][board[0].length-1]; } }