首页 > 其他分享 >力扣-不同路径1

力扣-不同路径1

时间:2023-09-15 20:44:26浏览次数:49  
标签:int 不同 路径 网格 力扣 输入 include dp

1.问题

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

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

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

例如,上图是一个7 x 3 的网格。有多少可能的路径?

示例 1:

输入: m = 3, n = 2

输出: 3

解释:

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

1. 向右 -> 向右 -> 向下

2. 向右 -> 向下 -> 向右

3. 向下 -> 向右 -> 向右

示例 2:

输入: m = 7, n = 3

输出: 28

2.说明

输入说明:

输入m和n,以空格分隔

1 <= m, n <= 100

题目数据保证答案小于等于 2 * 10 ^ 9

输出说明:

输出一个整数

3.范例

输入范例:

7 3

输出范例:

28

4.思路

边界问题:因为机器人只能在网格中的第1行和第1列中,从起点到每一个格子的路径就只有一条,因此第1行和第1列初始化为1;
dp[i][j]表示到达第 i 行第 j 列时,有多少条路径,而dp[i][j]与dp[i-1][j]和dp[i][j-1]有关,因此dp[i][j]=dp[i-1][j]+dp[i][j-1];

5.代码

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;
class Solution
{
public:
    int solve(int m,int n)
    {
        vector<vector<int>> dp(m,vector<int> (n,0));
        for(int i=0;i<m;i++) dp[i][0]=1;
        for(int j=0;j<n;j++) dp[0][j]=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];
    }
};
int main()
{
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    int m,n;
    cin>>m>>n;
    int res=Solution().solve(m,n);
    cout<<res<<endl;
    return 0;
}

 

标签:int,不同,路径,网格,力扣,输入,include,dp
From: https://www.cnblogs.com/ohye/p/17705901.html

相关文章

  • 接口测试实践例子(内含不同接口只需登录一次的方法“自动登录”)
    一、接口文档1.API文档2.需求文档接口测试工具--》接口测试脚本--》接口测试框架二、利用fixture自动化就绪测试条件-部分接口来说,需要保持登录状态-部分接口来说,需要接口关联-动态数据接口信息-任务列表接口地址GEThttps://api.tttt.one/rest-v2/todo参数无响......
  • 力扣-使用最小花费爬楼梯
    1.问题数组的每个索引作为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为0或1的元素......
  • 22个实用的CSS技巧,让你的网站与众不同
    想要让你的网站在激烈的竞争中脱颖而出吗?使用CSS的强大功能可以帮助你实现这一目标。本文将分享22个实用的CSS技巧,帮助你提升网站的外观和用户体验。无论你是一个新手还是有经验的开发者,这些技巧都将为你的网站注入新鲜的设计元素和动感效果。1.自定义字体:通过使用@font-face规则,......
  • 财富潮涌:银行发展绿色经济创新路径
    在《玩转金融新“绿”潮,银行纷纷亮大招》内容中,我们带大家了解了商业银行有关绿色信贷产品、绿色债券产品及绿色投资的内容。今天,我们将继续带大家了解商业银行绿色金融实践路径中关于绿色财富、绿色服务和绿色运营的分析。在绿色金融实践中,商业银行以绿色信贷产品为核心,以绿色债......
  • 关于python中os模块指向软链路径
    关于pythonos模块获取路径问题如果py文件放在软链路径下,那么无法获取当前路径,只能获取软链对应的真实路径Python3.8.2创建软链路径#1.在/System/Volumes/Data创建ccc目录mkdir-p/System/Volumes/Data/ccc#2.创建软链:test_ccc->/System/Volumes/Data/ccccd~&......
  • DC电源模块单路、双路输出的不同应用场景
    BOSHIDADC电源模块单路、双路输出的不同应用场景DC电源模块是一种常见的供电设备,通常用于将市电转换为稳定的直流电源,以供电给各种电子设备。DC电源模块的输出方式分为单路和双路两种,下面将分别介绍它们的不同应用场景。一、单路输出单路输出的DC电源模块通常只有一个输出端口......
  • BOSHIDA DC电源模块单路、双路输出的不同应用场景
    三河博电科技BOSHIDADC电源模块单路、双路输出的不同应用场景DC电源模块是一种常见的供电设备,通常用于将市电转换为稳定的直流电源,以供电给各种电子设备。DC电源模块的输出方式分为单路和双路两种,下面将分别介绍它们的不同应用场景。 一、单路输出单路输出的DC电源模块通......
  • linux 中 readlink、realpath、find输出软链接文件绝对路径的差异
     001、[root@pc1test1]#ls##三个测试文件a.txtb.txttestfile[root@pc1test1]#ll-htotal4.0Klrwxrwxrwx.1rootroot20Sep1612:03a.txt->/home/test1/testfilelrwxrwxrwx.1rootroot20Sep1612:03b.txt->/home/test1/testfile-rw-r--......
  • 9.HTML开发--在线投票:创建一个在线投票应用,允许用户投票给不同的选项。
    创建一个在线投票应用是一个有趣的项目,它可以让用户轻松地投票给不同的选项。以下是一个简单的HTML和CSS模板,你可以基于它创建你自己的在线投票应用:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wid......
  • 智能工厂和传统工厂有什么不同?如何转型?
    传统工厂依赖人工进行生产和管理,往往只能通过扩大规模来实现生产效益的提升,而智能工厂则是依靠现代化的智能装备,逐步替代人工进行重复性和工作量大的工作,实现智能化的生产经营模式和自动化的管理,可以有效的提升生产效率、节约成本。两者存在以下不同: 1、自动化程度智能工厂具备更......