zoukankan      html  css  js  c++  java
  • minimum-path-sum

    题目描述

    给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。
    注意:你每次只能向下或向右移动。
     

     二维数组动态规划求解:

     1 import java.util.*;
     2 
     3 
     4 public class Solution {
     5     /**
     6      * 
     7      * @param grid int整型二维数组 
     8      * @return int整型
     9      */
    10     public int minPathSum (int[][] grid) {
    11         int m=grid.length;
    12         int n=grid[0].length;
    13         int[][] dp=new int[m][n];
    14         int sum=0;
    15         for(int i=0;i<m;i++){
    16             sum+=grid[i][0];
    17             dp[i][0]=sum;
    18         }
    19         sum=0;
    20         for(int i=0;i<n;i++){
    21             sum+=grid[0][i];
    22             dp[0][i]=sum;
    23         }
    24         for(int i=1;i<m;i++){
    25             for(int j=1;j<n;j++){
    26                 dp[i][j]=grid[i][j]+Math.min(dp[i-1][j],dp[i][j-1]);
    27             }
    28         }
    29         return dp[m-1][n-1];
    30     }
    31 }

    一维数组动态规划:

     1 import java.util.*;
     2 
     3 
     4 public class Solution {
     5     /**
     6      * 
     7      * @param grid int整型二维数组 
     8      * @return int整型
     9      */
    10     public int minPathSum (int[][] grid) {
    11         int m=grid.length;
    12         int n=grid[0].length;
    13         int[] dp=new int[n+1];
    14         int sum=0;
    15         for(int i=0;i<n;i++){
    16             sum+=grid[0][i];
    17             dp[i]=sum;
    18         }
    19         for(int i=1;i<m;i++){
    20             dp[0]=dp[0]+grid[i][0];
    21             for(int j=1;j<n;j++){
    22                 dp[j]=Math.min(dp[j]+grid[i][j],dp[j-1]+grid[i][j]);
    23             }
    24         }
    25         return dp[n-1];
    26     }
    27 }


  • 相关阅读:
    docker 加速器配置目录
    php 超时设置笔记
    php socket通过smtp发送邮件(纯文本、HTML,多收件人,多抄送,多密送)
    fabric 安装
    centos7下使用yum安装pip
    【转】linux tar 压缩
    ASP.NET MVC 5 默认模板的JS和CSS 是怎么加载的?
    NHibernate with ASP.NET MVC 入门示例
    Ajax入门
    NHibernate入门
  • 原文地址:https://www.cnblogs.com/Susie2world/p/13372945.html
Copyright © 2011-2022 走看看