/*
 * 给定一个矩阵m,从左上角开始每次只能向右走或者向下走,最后达到右下角的位置,
 * 路径中所有数字累加起来就是路径和,返回所有路径的最小路径和,如果给定的m如下,那么路径1,3,1,0,6,1,0就是最小路径和,返回12.
1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0
分析: 对于这个题目,假设m是m行n列的矩阵,那么我们用dp[m][n]来抽象这个问题,
dp[]i]表示的是从原点到i,j位置的最短路径和。我们首先计算第一行和第一列,直接累加即可,
那么对于其他位置,要么是从它左边的位置达到,要么是从上边的位置达到,我们取左边和上边的较小值,然后加上当前的路径值
*/
/*
 得到的公式如下
 m(0,0)            if(i==0 && j==0)
 dp(i,j-1)+m(i,j)  if(i==0)
 dp(i-1,j)+m(i,j)  if(j==0)
 min{dp(i,j-1)+m(i,j),dp(i-1,j)+m(i,j)}  else

*/

public class MaritixMin {public static int minDis(int[][] m) {int [][] dp = new int[4+1][4+1];dp[0][0] = m[0][0];for (int i = 1; i < m.length; i++) {for (int j = 1; j < m[0].length; j++) {if(i==1) {dp[i][j] = dp[i][j-1]+m[i][j];}else if(j==1) {dp[i][j] = dp[i-1][j] +m[i][j];}else {int temp1 = dp[i][j-1]+m[i][j];int temp2 = dp[i-1][j]+m[i][j];int min = temp1<temp2?temp1:temp2;dp[i][j] = min;}}}return dp[m[0].length-1][m.length-1];}public static void main(String[] args) {int[][] martix = {{0,0,0,0,0},{0,1,3,5,9},{0,8,1,3,5},{0,5,0,6,1},{0,8,8,4,0}};System.out.println("最右下的最短路径为:"+minDis(martix));}
}

给定一个矩阵m,从左上角开始每次只能向右走或者向下走,最后达到右下角的位置相关推荐

  1. [分支限界]给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置共有多少种路径

    分支限界解最短路径 问题描述: 要求: 随机数算法 分支限界算法 程序源码 问题描述: 给定一个m行n列的矩阵,从左上角开始每次只能向右或向下移动,最后到达右下角的位置,路径上的所有数字累加起来作为这 ...

  2. 给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置共有多少种路径

    题目描述 给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和. 思路: 1.排列组合 要从A到B,必须向左走6 ...

  3. 给定一个矩阵m*n,从左上角开始每次只能向右和向下走,最后到右下角的位置共有多少种路径。

    #include <bits/stdc++.h> using namespace std; /*    每次只能向右或向下走    dp[m][n] = dp[m-1][n]+dp[m][ ...

  4. [算法]给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置共有多少种路径

    很经典的一道题 等同于:https://leetcode-cn.com/problems/unique-paths/ 在完美世界面试中遇到了. 每次都只能向右或者向下走,求出所有种情况. 当时想到的思 ...

  5. 一个m * n的网格,从最左上角出发,每次只能向右或者向下移动一格,问有多少种不同的方法可以到达最右下角的格子

    格子路径 题目: 在一个 2×2 的栅格中,从左上角出来,只能向右或向下移动,总共有 6 条路径可以到达栅格的右下角: 求m*n的网格中,有多少条移动路径? 以一个 20×20 的栅格为例,它有137 ...

  6. java一次能迈一级或两级台阶_有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?...

    有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台 ...

  7. 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?

    有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法. 给定一个正整数int n,请返回一个数,代表上楼的方式数.保证n小于等于10 ...

  8. 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现。

    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现. 输入: 输入一个整数M(1<=M<=20),表示楼梯的级数. 输出: 输出不同走法 ...

  9. 超级楼梯——有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?

    有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n(0<n<40),请你输出不同的走法数. 如n=2,则输出1(你只有一种走 ...

最新文章

  1. arcgis下的python编程-面向ArcGIS的Python脚本编程
  2. php 获取动态时间,PHP 显示动态时间
  3. Docker在服务器之间怎样导入导出镜像(服务器之间容器复制)
  4. SQL SERVER 跨服务器查询
  5. 设置最小值与最大值 css,一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景...
  6. git pull 报错:Untracked Fles Preventing Merge
  7. IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡
  8. Java编辑环境搭建
  9. 1788:Pell数列
  10. linux下keepalived+nginx的负载均衡搭建
  11. J - R u really ready?(CCRC 18)动态规划
  12. 打印预览的时候,总是会多于一个空白页,怎么办?
  13. 域策略(3)——限制用户使用USB移动存储设备
  14. 【已解决】python 使用xlrd,xlwt 修改execl单元格的背景色
  15. 【android】喜马拉雅FM sdk使用
  16. VUE前端二级部门联动下拉菜单
  17. 机房温度过高应这样预防
  18. mongo update批量更新
  19. 卷积神经网络在句子分类上的应用[翻译]
  20. ELK入门(十八)——Kibana APM server安装部署

热门文章

  1. 缓存与数据库的数据更新
  2. python分行政区域汇总_Python把行政区域信息处理为层级字典
  3. python 视频转换图片
  4. 入行AI,程序员为什么要学习NLP?
  5. 解决多线程高并发问题常用类
  6. 芯片进口额远超原油 中国芯待发力
  7. 富士 XF30mm F2.8 微距镜头 评测
  8. vce数学考试能用计算机,VCE课程资深数学老师Richard WANG:我的VCE数学教学心得体会...
  9. 词嵌入之Word2vec
  10. 一篇文章全搞懂!B2B