zoukankan      html  css  js  c++  java
  • LeetCode | Unique Paths

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

    The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

    How many possible unique paths are there?


    Above is a 3 x 7 grid. How many possible unique paths are there?

    //二维动态规划问题,参考http://blog.csdn.net/do_smile/article/details/45191653
    public class Solution {
        public int uniquePaths(int m, int n) {
            
            if(m<=1 || n<=1) return 1;
            
            //状态变量,dp[i][j]表示达到点(i,j)的路径数目
            int[][] dp = new int[m+1][n+1];    //下标从0开始,m*n维数组
            for(int i=0; i<=n; i++)
                dp[0][i] = 1;
            for(int i=0; i<=n; i++)    //为多维数组的第0、1行,第0、1列均赋值为1
                dp[1][i] = 1;
            for(int i=0; i<=m; i++)
                dp[i][0] = 1;
            for(int i=0; i<=m; i++)
                dp[i][1] = 1;
            
            //状态转移方程:要达到某个点,只有两种到达方式,从左侧到达或从上侧到达
            //dp[i][j] = dp[i-1][j] + dp[i][j-1] , ( i>=2 && j>=2 )
            for(int i=2; i<=m; i++){
                for(int j=2; j<=n; j++)
                    dp[i][j] = dp[i-1][j] + dp[i][j-1];
            }
            
            return dp[m][n];
        }
    }



  • 相关阅读:
    [LUOGU] NOIP提高组模拟赛Day1
    关于NX Check_Mate功能外部开发心得
    hibernate增删改
    eval转json
    day24(JAVAWEB上传与下载)
    struts2执行流程
    oracle之简单总结
    设计模式之装饰者模式
    第五周学习总结
    第四周学习总结
  • 原文地址:https://www.cnblogs.com/dosmile/p/6444448.html
Copyright © 2011-2022 走看看