Участник:Batyrzhan/Minimum Falling Path Sum II
Материал из DISCOPAL
class Solution { public int minFallingPathSum(int[][] A) { int row = A.length; int col = A[0].length; int[][] dp = new int[row][col]; int minPath = Integer.MAX_VALUE; if(row == 1) { for(int i=0;i<col;i++) { minPath= Math.min(A[0][i], minPath); } return minPath; } dp[0] = A[0]; for(int i=1;i<row;i++){ for(int j=0;j<col;j++) { int min = Integer.MAX_VALUE; for(int k=0;k<col;k++) { if(k!=j) { int val = dp[i-1][k]; min = Math.min(val,min); } } dp[i][j] = min + A[i][j]; int val = dp[i][j]; if(i == row-1) { minPath= Math.min(dp[i][j], minPath); } } } return minPath; } }