不同路径

server/2025/3/18 5:01:04/

一个机器人位于一个 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 * 109

解题思路: 

①用 dp[i][j]表示从起点 `(0, 0)` 到达位置 `(i, j)` 的不同路径数量。

②起点 (0, 0) 的路径数为 1。第一行和第一列的路径数均为 1,因为只能向右或向下移动。

③对于其他位置 (i, j),路径数等于从上方 (i-1, j) 和左方 (i, j-1)到达的路径数之和,即 dp[i][j] = dp[i-1][j] + dp[i][j-1]。

④最终 dp[m-1][n-1]即为从起点到终点的不同路径数量。

代码:

int uniquePaths(int m, int n) {int** dp = (int**) malloc(sizeof(int*) * m);for (int i = 0; i < m; i++) {dp[i] = (int*) malloc(sizeof(int) * n);}dp[0][0] = 1;for (int j = 1; j < n; j++) {dp[0][j] = 1;}for (int i = 1; i < m; i++) {dp[i][0] = 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 - 1][n - 1];
}

运行结果:

 


http://www.ppmy.cn/server/175868.html

相关文章

【从零开始学习计算机科学】软件工程(三)需求工程

【从零开始学习计算机科学】软件工程(三)需求工程 需求工程好的需求应具备的特征:需求工程(Requirement Engineering, RE)起始导出需求讨论会头脑风暴调查问卷场景分析法实地考察原型法精化协商规格说明确认需求管理需求工程 设计和开发一个计算机软件时,如果软件解决的…

判断字符串是否为回文(信息学奥赛一本通-1146)

【题目描述】 输入一个字符串&#xff0c;输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。 【输入】 输入为一行字符串&#xff08;字符串中没有空白字符&#xff0c;字符串长度不超过100&#xff09;。 【输出】 如果字符串是回文&#xff0c;输出yes&#xff1b;否…

基于单片机的智能电表设计(论文+源码)

1 系统整体方案设计 本课题为基于单片机的电子式单项智能电表&#xff0c;在此设计如图2.1所示的系统总体架构&#xff0c;其采用STM32单片机作为主控制器&#xff0c;搭配外设HLW8032模块实现对电压&#xff0c;电流&#xff0c;功率因数&#xff0c;电能消耗等参数进行检测&…

数据结构(一)——绪论

一、数据结构的研究内容 1.数据的各种逻辑结构和物理结构&#xff0c;以及他们之间的相应关系 2.存储结构的方法&#xff0c;对每种结构定义相适应的各种运算 3.设计出相应的算法 4.分析算法的效率 二、数据结构的基本概念 1.数据&#xff08;data&#xff09;&#xff1a…

Redis 的特点

高性能&#xff1a; 数据存储在内存中&#xff0c;读写速度极快。单线程模型避免了多线程的竞争&#xff0c;简化了设计。 丰富的数据结构&#xff1a; 支持字符串、哈希、列表、集合、有序集合等多种数据结构&#xff0c;适应不同场景。 持久化&#xff1a; 提供 RDB 和 AOF…

【每日学点HarmonyOS Next知识】状态栏字体、生命周期、自定义对话框屏幕中间、透明度、tab居中

1、HarmonyOS 单页面如何控制状态栏字体颜色&#xff1f; 状态栏字体颜色可通过设置statusBarContentColor修改&#xff0c;参考文档如下&#xff1a; https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5 参考代码&#xff1a; import…

ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术

本文涉及ASP.NET Webform和ASP.NET MVC 后台开发大概80%技术 2019年以前对标 深圳22K左右 广州18K左右 武汉16K左右 那么有人问了2019年以后的呢&#xff1f; 答&#xff1a;吉祥三宝。。。 So 想继续看下文的 得有自己的独立判断能力。 C#.NET高级笔试题 架构 优化 性能提…

C++初阶——类和对象(二)

C初阶——类和对象&#xff08;二&#xff09; 本期内容书接上回&#xff0c;继续讨论类和对象相关内容。类和对象属于C初阶部分&#xff0c;主要反映了面向对象编程的三大基本特点之一——封装&#xff0c;在C的学习中占有举足轻重的地位&#xff01; 一、类对象模型 1.如何…