zoukankan      html  css  js  c++  java
  • 矩阵最小路径和练习题

    题目:有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。给定一个矩阵map及它的行数n和列数m,请返回最小路径和。保证行列数均小于等于100.

    思路:典型dp,比较简单,用有一个二维表记录到达每个格子的最小路径,对于第一行和第一列,到达每个格子只可能从一个方向,所以先求第一行,第一列,之后由特殊到一般,对于其他任意的dp[i][j]来说,只有可能从两个方向来的,上或者左,选较小的那个。然后从左到右,从上到下依次求每个格子,最右下角即为所求

      public int getMin(int[][] map, int n, int m) {
            int[][] dp=new int[n][m];
            dp[0][0]=map[0][0];
          //第一列
            for(int i=1;i<n;i++){
                dp[i][0]=map[i][0]+dp[i-1][0];
            }
        //第一行
    for(int i=1;i<m;i++){ dp[0][i]=map[0][i]+dp[0][i-1]; } for(int i=1;i<n;i++){ for(int j=1;j<m;j++){ dp[i][j]=map[i][j]+Math.min(dp[i][j-1],dp[i-1][j]); } } return dp[n-1][m-1]; }
  • 相关阅读:
    Eclipse+Pydev +Django搭建开发环境时容易出错的几点
    小白对于数据库的初步理解
    个人PC搭建自己的虚拟服务器
    xss 学习(一)
    python爬虫学习(一)
    php常用函数
    sqlmap基础命令
    metinfo 5.3.19 管理员密码重置
    nmap常用命令
    Web安全开发手册
  • 原文地址:https://www.cnblogs.com/team42/p/6732961.html
Copyright © 2011-2022 走看看