zoukankan      html  css  js  c++  java
  • unique paths

    但是解答很简单。因为机器人只能向右 / 下 移动,所以要到达目标 A 的可能路线就是到达它正上方的那一块的可能路线数和到达它正右方的那一块的可能路线数之和。

    所以就简单了:

    int uniquePaths(int m, int n)
    {
        vector<vector<int>> record((m + 1), vector<int>(n + 1));
        function<int(int, int)> getPathsNum;
        getPathsNum = [&](int a, int b)
        {
            if (a == 0 || b == 0){
                return 0;
            }
            if (a == 1 || b == 1){
                return 1;
            }
            int paths_num = record[a][b];
            if (paths_num != 0){
                return paths_num;
            }
            int&& result = getPathsNum(a - 1, b) + getPathsNum(a, b - 1);
            record[a][b] = result;
            return result;
        };
        return getPathsNum(m, n);
    }

     这个解法的思想就是存储需要被重复访问的数据来节省时间,但并不是动规的思想。

  • 相关阅读:
    leetcode第14题最长公共前缀
    什么是神经网络
    获取url "?" 后面的字符串
    第一天
    C#和.Ne学习第九天
    C#和.Ne学习第八天
    格式化输出
    C#和.Ne学习
    C#和.Ne学习第七天
    C#类型转换
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/5044002.html
Copyright © 2011-2022 走看看