zoukankan      html  css  js  c++  java
  • #Leetcode# 62. Unique Paths

    https://leetcode.com/problems/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

    题解:$dp$ 

    AC 代码:

    class Solution {
    public:
        int uniquePaths(int m, int n) {
            vector<int> dp(n, 1);
            for(int i = 1; i < m; i ++) {
                for(int j = 1; j < n; j ++)
                    dp[j] += dp[j - 1];
            }
            return dp[n - 1];
        }
    };
    

    另一个代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int n, m;
    int dp[1010][1010];
    
    int main() {
        scanf("%d%d", &n, &m);
        for(int i = 0; i < n; i ++) {
            for(int j = 0; j < m; j ++) {
                if(i == 0 || j == 0)
                    dp[i][j] = 1;
                else
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
            }
    
        }
    
        int ans = dp[n - 1][m - 1];
        printf("%d
    ", ans);
        return 0;
    }
    

      

      

  • 相关阅读:
    梦断代码阅读笔记02
    第三周
    第二周
    《大道至简》阅读笔记
    暑假第一周
    hdu-1237简单计算器(栈的运用)
    玩骰子(概率,暴力)
    hdu-5568SUM (dp)
    codeforce-600C. Make Palindrome(贪心)
    codeforce-601A. The Two Routes(最短路)
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10002712.html
Copyright © 2011-2022 走看看