• 19.2.9 [LeetCode 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
     1 class Solution {
     2 public:
     3     int caluniquePaths(vector<vector<int>>&mark,int m, int n) {
     4         int down = 0, right = 0;
     5         if (mark[m][n] != -1)return mark[m][n];
     6         if (m > 1)
     7             down = caluniquePaths(mark, m - 1, n);
     8         if (n > 1)
     9             right = caluniquePaths(mark, m, n - 1);
    10         mark[m][n] = down + right;
    11         return mark[m][n];
    12     }
    13     int uniquePaths(int m, int n) {
    14         vector<vector<int>>mark(m+1, vector<int>(n+1, -1));
    15         mark[1][1] = 1;
    16         return caluniquePaths(mark, m, n);
    17     }
    18 };
    View Code

    不记忆递归的话会TLE,用空间换时间

  • 相关阅读:
    神通数据库 SQL 异常捕获
    StringBuilder Append 和 AppendLine 的细节
    Linux (Debian) 安装 Sqlplus 工具
    linux杀掉所有相关进程进程
    java和python 重写和重载
    python 深复制和浅复制
    python 闭包
    os.makedirs 权限问题
    python多进程和多线程
    python工厂函数
  • 原文地址:https://www.cnblogs.com/yalphait/p/10357630.html
Copyright © 2020-2023  润新知