zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 64 最小路径和

    64. 最小路径和

    给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

    说明:每次只能向下或者向右移动一步。

    示例:

    输入:
    [
    [1,3,1],
    [1,5,1],
    [4,2,1]
    ]
    输出: 7
    解释: 因为路径 1→3→1→1→1 的总和最小。

    class Solution {
         public int minPathSum(int[][] grid) {
            if (grid == null || grid.length < 1 || grid[0] == null || grid[0].length < 1) {
                return 0;
            }
            
            int row = grid.length;
            int col = grid[row - 1].length;
            
            int dp[][] = new int[row][col];
            
            dp[0][0] = grid[0][0];
            
            for (int i = 1;i < row;i++) {
                dp[i][0] = dp[i - 1][0] + grid[i][0];
            }
            
            for (int i = 1;i < col;i++) {
                dp[0][i] = dp[0][i - 1] + grid[0][i];
            }
            
            for (int i = 1;i < row;i++) {
                for (int j = 1;j < col;j++) {
                    dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];
                }
            }
            
            return dp[row - 1][col - 1];
        }
    }
    
  • 相关阅读:
    第七次
    第六次作业
    第五次作业
    第四次作业
    百度网盘生成二维码api
    【css3】--四种气泡
    纯CSS气泡框实现方法探究
    三种带箭头提示框总结实例
    纯CSS实现气泡框
    Windows 上 GitHub Desktop 的操作
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076263.html
Copyright © 2011-2022 走看看