动态规划--Leetcode64.最小路径和
发布日期:2021-04-30 21:06:27 浏览次数:103 分类:精选文章

本文共 1601 字,大约阅读时间需要 5 分钟。

??????????????????????????????????????????????????????????

????

???????????????????????????????????????????????????????

  • ????????????????? dp??? dp[i][j] ?????????? (i, j) ???????
  • ?????? dp[0][0] ???? grid[0][0]?
  • ?? dp ?????????????? (i, j)??????????? (i-1, j) ???? (i, j-1) ?????????????????????????
  • ???????????????????????????????
  • ??????? dp[m-1][n-1]??????????????
  • ????

    public class Solution64 {
    public static int minPathSum(int[][] grid) {
    if (grid == null || grid.length == 0 || grid[0].length == 0) {
    return 0;
    }
    int m = grid.length;
    int n = grid[0].length;
    int[][] dp = new int[m][n];
    dp[0][0] = grid[0][0];
    for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
    if (i == 0 && j == 0) {
    continue;
    } else if (i == 0) {
    dp[i][j] = dp[i][j-1] + grid[i][j];
    } else if (j == 0) {
    dp[i][j] = dp[i-1][j] + grid[i][j];
    } else {
    dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1]) + grid[i][j];
    }
    }
    }
    return dp[m-1][n-1];
    }
    public static void main(String[] args) {
    int[][] a = {
    {1,3,1},
    {1,5,1},
    {4,2,1}
    };
    System.out.println(minPathSum(a)); // ??7
    }
    }

    ????

  • ??????????????????????0???????0?
  • ?????????????????????? dp ?????????? grid[0][0]?
  • ??????????????????????????????????????????????????
  • ??????? dp ??????????????????
  • ?????????????????????????????????????????

    上一篇:检查依赖数据到达后定时触发任务
    下一篇:JavaScript基础知识点总结、一

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2026年06月17日 17时59分54秒