[LeetCode] Ruta 64. mínimo Sum y la ruta mínimo (Medio) (JAVA)

[LeetCode] Ruta 64. mínimo Sum y la ruta mínimo (Medio) (JAVA)

Tema Dirección: https://leetcode.com/problems/minimum-path-sum/

Descripción Asunto:

Dada amxn rejilla llena de números no negativos, encontrar un camino desde la parte superior izquierda a la inferior derecha que minimiza la suma de todos los números a lo largo de su trayectoria.

Nota: Sólo puede mover hacia abajo o derecho en cualquier punto en el tiempo.

Ejemplo:

Input:
[
  [1,3,1],
  [1,5,1],
  [4,2,1]
]
Output: 7
Explanation: Because the path 1→3→1→1→1 minimizes the sum.

Sujeto al efecto

Dado un número entero no negativo de la red de mxn, encontrar un camino de izquierda a abajo a la derecha, de modo que la suma del número mínimo de caminos.

Nota: sólo se puede dar un paso hacia abajo o hacia la derecha.

Enfoque de resolución de problemas

Una pregunta y la misma solución: [] 63. rutas únicas II LeetCode diferente camino II (Medium) (JAVA)

1, programación dinámica, que atraviesa desde la parte posterior
2, frente ya la izquierda de la comparación del valor mínimo

class Solution {
    public int minPathSum(int[][] grid) {
        if (grid.length == 0 || grid[0].length == 0) return 0;
        int[][] dp = new int[grid.length][grid[0].length];
        for (int i = grid.length - 1; i >= 0; i--) {
            for (int j = grid[0].length - 1; j>= 0; j--) {
                if (i == grid.length - 1 && j == grid[0].length - 1) {
                    dp[i][j] = grid[i][j];
                } else if (i == grid.length - 1) {
                    dp[i][j] = grid[i][j] + dp[i][j + 1];
                } else if (j == grid[0].length - 1) {
                    dp[i][j] = grid[i][j] + dp[i + 1][j];
                } else {
                    dp[i][j] = grid[i][j] + (dp[i + 1][j] > dp[i][j + 1] ? dp[i][j + 1] : dp[i + 1][j]);
                }
            }
        }
        return dp[0][0];
    }
}

Cuando la ejecución: 4 ms, venció el 33,37% de todos los usuarios a presentar en Java
consumo de memoria: 42,5 MB, derrotado 20,81% de todos los usuarios a presentar en Java

Publicado 81 artículos originales · ganado elogios 6 · vistas 2273

Supongo que te gusta

Origin blog.csdn.net/qq_16927853/article/details/104892734
Recomendado
Clasificación