zoukankan      html  css  js  c++  java
  • 矩阵的最小路径和

    经典动态规划法。

    如果给定矩阵如下:

    1  3  5  9 

    8  1  3  4  

    5  0  6  1

    8  8  4  0

    路径1,3,1,0,6,1,0是所有路径中路径和的最小的,1+3+1+0+6+1+0=12,所以返回12。

    代码如下:

    public class demo5 {
      public static void main(String[] args) {
      int[][] array = {{1,3,5,9},{8,1,3,4},{5,0,6,1},{8,8,4,0}};
      int[][] result = minPathSum(array);
      System.out.println(result[result.length-1][result[0].length-1]);
    }
      public static int[][] minPathSum(int[][] array) {
        int row = array.length;
        int col = array[0].length;
        int[][] m = new int[row][col];
        m[0][0] = array[0][0];
        for(int i = 1; i < row; ++i){
          m[i][0] = array[i][0] + m[i-1][0];
        }
        for(int j = 1; j < col; ++j){
          m[0][j] = array[0][j] + m[0][j-1];
        }
        for(int k = 1; k < row; ++k){
          for(int kk = 1; kk < col; ++kk){
            m[k][kk]= Math.min(m[k-1][kk], m[k][kk-1]) + array[k][kk];
          }  
        }
        return m;
      }
    }

  • 相关阅读:
    RFM模型
    mysql日期函数(时间函数)
    数据库探索
    anaconhda安装步骤
    mysql安装和环境配置
    mysql时间条件查询
    mysql自连接
    mysql查询注意事项(查询优化)
    mysql常见的保留字和反引号使用
    多表联合查询注意事项(索引)
  • 原文地址:https://www.cnblogs.com/huaiyinxiaojiang/p/6600705.html
Copyright © 2011-2022 走看看