• 矩阵最短路径


    /**
    * 矩阵最短路径和(最长)
    * @author db
    *1 3 5 9
    *8 1 3 4
    *5 0 6 1
    *8 8 4 0
    *
    *dp[i][j]=min{dp[i-1]dp[j],dp[i][j-1]}+m[i][j](1<=i,j<n)
    */

    public int minPathSum1(int[][] m){
            if(m==null|| m.length==0||m[0] == null || m[0].length==0){
                return 0;
            }
            int row = m.length;
            int col = m[0].length;
            int[][] dp = new int[row][col];
            dp[0][0] = m[0][0];
            
            for(int i=1;i<row;i++){
                dp[i][0] = dp[i-1][0]+m[i][0];
            }
            for(int j=1;j<col;j++){
                dp[0][j] = dp[0][j-1]+m[0][j];
            }
            
            for(int i=1;i<row;i++){
                for(int j=1;j<col;j++){
                    dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1])+m[i][j];
                }
            }
            
            return dp[row-1][col-1];
        }

    思想:整体与局部互相转换

  • 相关阅读:
    MySQL操作表中的数据
    mysql查询语句进阶
    mysql基本查询语句
    mysql函数
    mysql约束
    操作MySQL表
    操作MySQL数据库
    mysql视图
    as2 播放停止音效
    as3 深复制
  • 原文地址:https://www.cnblogs.com/b-dong/p/6422145.html
Copyright © 2020-2023  润新知