zoukankan      html  css  js  c++  java
  • 62. 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 7 x 3 grid. How many possible unique paths are there?

    Note: m and n will be at most 100.

    Example 1:

    Input: m = 3, n = 2
    Output: 3
    Explanation:
    From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:
    1. Right -> Right -> Down
    2. Right -> Down -> Right
    3. Down -> Right -> Right
    

    Example 2:

    Input: m = 7, n = 3
    Output: 28



    二刷,本来也算是启蒙题目,差点没做出来哈哈哈哈. 刷题看来得一直刷,不然很容易丧失这种思考模式
    class Solution {
        
    public:
        int uniquePaths(int m, int n) {
            vector<vector<int>> dp(n+1,vector<int>(m+1,0));
                dp[1][1]=1;
            for(int i=1;i<=n;++i)
                for(int j=1;j<=m;++j)
                {
                    if(i>1)dp[i][j]+=dp[i-1][j];
                    if(j>1)dp[i][j]+=dp[i][j-1];
                }
            return dp[n][m];
        }
    };

    讨论区更加subtle的解法..

    class Solution {
    public:
        int uniquePaths(int m, int n) {
            vector<vector<int>> dp(m, vector<int>(n, 1));
            for (int i = 1; i < m; i++) {
                for (int j = 1; j < n; j++) {
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }
            }
            return dp[m - 1][n - 1];
        }
    };
  • 相关阅读:
    网络层协议
    交换机原理
    复习
    网络布线和数据转换
    计算机网络参考模型
    Linux常用命令2
    Linux常用命令1
    服务器分类、硬盘分类
    TCP三次握手和断开四次挥手
    向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾。
  • 原文地址:https://www.cnblogs.com/lychnis/p/11742873.html
Copyright © 2011-2022 走看看