Участник: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…»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
    class Solution {
+
* https://leetcode.com/problems/minimum-falling-path-sum-ii
 +
 
 +
<code-java>
 +
class Solution {
 
     public int minFallingPathSum(int[][] A) {
 
     public int minFallingPathSum(int[][] A) {
 
         int row = A.length;
 
         int row = A.length;
Строка 37: Строка 40:
 
     }
 
     }
 
     }
 
     }
 
+
</code-java>
[[Категория:На проверку]]
+

Текущая версия на 22:26, 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;
    }
    }