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

    AC code:

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

    time: O(n^2)  space: O(m*n)

    Runtime: 0 ms, faster than 100.00% of C++ online submissions for Unique Paths.

    Optimization:

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

    time: O(n^2)  space:O(m)

    Runtime: 0 ms, faster than 100.00% of C++ online submissions for Unique Paths.
    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    分析记录:文件不落地的恶意脚本攻击——傀儡进程盗号
    恶意宏学习备忘04——恶意宏调试记录
    恶意宏学习备忘03——手动清除文档宏
    恶意宏学习备忘02
    恶意宏学习备忘
    IRP小结 0x01 IRP & IO_STACK_LOCATION(结合WRK理解)
    文件防删除保护(miniifiter)
    初识虚拟化
    HYPERSPACE
    几个常用内核函数(《Windows内核情景分析》)
  • 原文地址:https://www.cnblogs.com/h-hkai/p/9823273.html
Copyright © 2011-2022 走看看