LeetCode热题 不同路径

题目描述

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 "Finish" )。

问总共有多少条不同的路径?

示例 1:


输入 :m = 3, n = 7
输出:28

示例 2:

输入 :m = 3, n = 2
输出 :3
解释

从左上角开始,总共有 3 条路径可以到达右下角。

  1. 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右
  3. 向下 -> 向右 -> 向下

示例 3:

输入 :m = 7, n = 3
输出:28

示例 4:

输入 :m = 3, n = 3
输出 :6
提示

1 <= m, n <= 100

题目数据保证答案小于等于 2∗1092 * 10^92∗109

思路

典型动态规划模板,dpi\[\[j表示到达这个点的路径数,则dpij = dpi - 1j + dpij - 1

代码

cpp 复制代码
class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<vector<int>>dp(m + 1, vector<int>(n + 1, 0));
        dp[1][1] = 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][n];
    }
};
相关推荐
蓝悦无人机1 小时前
C++基础 — 函数总结
开发语言·c++
烬羽2 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米2 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
星空露珠2 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
我不是懒洋洋3 小时前
从零实现一个分布式监控:Prometheus的核心设计
c++
An_s3 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
众少成多积小致巨3 小时前
C++ 规范参考(上)
c++
QXWZ_IA4 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel4 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客4 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化