Участник: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][co…»)
 
(Массовая правка: удаление Категория:На проверку)
Строка 37: Строка 37:
 
     }
 
     }
 
     }
 
     }
 
[[Категория:На проверку]]
 

Версия 16:16, 25 мая 2020

   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;
   }
   }