leetcode64 最小路径和

举报
兔老大 发表于 2021/04/23 00:05:54 2021/04/23
1.6k+ 0 0
【摘要】 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [   [1,3,1],   [1,5,1],   [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 &n...

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

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

示例:

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

思路:

grid[i][j]更新为走到grid[i][j]的最小代价。

只能从左边走过来,或者从上边走过来,答案为两种情况中较小的加上本身。

注意:初始化,第一行第一列只有一种方法走过来。


      class Solution {
      public int minPathSum(int[][] grid) {
      int len1=grid.length;
      int len2=grid[0].length;
      int i,j;
      for(i=1;i<len1;++i)grid[i][0]+=grid[i-1][0];
      for(i=1;i<len2;++i)grid[0][i]+=grid[0][i-1];
      for(i=1;i<len1;++i)
      for(j=1;j<len2;++j)
       grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]);
      return grid[len1-1][len2-1];
       }
      }
  
 

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/103245662

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。