不同路径

news2024/11/25 12:58:38

不同路径

思路:

法一:动态规划

    const int N = 110;
class Solution {    
    int dp[N][N];//dp[i][j]:从起点走到 i j的路径个数。 

public:
    int uniquePaths(int m, int n) {
        for(int i=1;i<=n;i++)
        {
            dp[1][i]=1;
        } 
        for(int i=1;i<=m;i++) dp[i][1]=1;
        for(int i=2;i<=m;i++)
        {
            for(int j=2;j<=n;j++)
            {
                dp[i][j]=dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[m][n];
    }
};

滚动数组:

    const int N = 110;
class Solution {    
    int dp[N];//dp[i][j]:从起点走到 i j的路径个数。 

public:
    int uniquePaths(int m, int n) {
        for(int i=1;i<=n;i++)
        {
            dp[i]=1;
        } 
        
        for(int i=2;i<=m;i++)
        {
            for(int j=2;j<=n;j++)
            {
                dp[j]+=dp[j-1];
            }
        }
        return dp[n];
    }
};

法二:组合数学

        从左上角到右下角的过程中,我们需要移动 m+n−2 次,其中有 m−1 次向下移动,n−1 次向右移动。因此路径的总数,就等于从 m+n−2 次移动中选择 m−1 次向下移动的方案数

class Solution {
public:
    int uniquePaths(int m, int n) {
        long long ans = 1;
        for (int x = n, y = 1; y < m; ++x, ++y) {
            ans = ans * x / y;
        }
        return ans;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2061391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day36.动态规划+重载操作符

动态规划好难啊(ಥ﹏ಥ) 终于搞懂0-1背包问题的二维数组转一维数组优化的问题了。如图所示: 将二维数组转换成一位数组的核心就是&#xff0c;dp[i][j]选取时&#xff0c;他的值只与dp[i-1][j]&#xff0c;也就是上一行有关&#xff0c;所以可以引出使用一维数组代替二维数组…

python 使用宝塔面板在云服务器上搭建 flask

打开宝塔面板到【网站】&#xff0c;选择【python项目】&#xff0c;点【添加python项目】 填上相关信息&#xff1a; 注意&#xff1a;项目端口是你打算在外网用来访问flask的端口号 勾选【放行端口】&#xff0c;并提交 到阿里云里&#xff0c;选择安全组 手动添加放行端口…

datawind可视化查询-其他函数

飞书文档学习链接:https://www.volcengine.com/docs/4726/47275 1. 用户名函数 用户名函数并非 ClickHouse 官方函数,而是与项目用户信息相结合,用于返回当前使用用户的指定信息的函数。 USERNAME()可返回当前用户的用户名,如下所示。该函数也可与其他函数组合使用 2. J…

51 无显式主键时 mysql 增加的 DB_ROW_ID

前言 这里主要是 探讨, 在我们创建了一个 无主键的数据表, 然后 mysql 会为我们增加的这一个 DB_ROW_ID 的相关 新建一个无主键字段的数据表如下 CREATE TABLE implicit_id_table (username varchar(16) DEFAULT NULL,age int(11) DEFAULT NULL ) ENGINEInnoDB DEFAULT CH…

MySQL范围分区分区表

什么是范围分区分区表&#xff1f; 范围分区是一种根据某个列的范围值来分割表数据的分区方式。在范围分区中&#xff0c;每个分区都有自己的范围条件&#xff0c;当插入数据时&#xff0c;MySQL会根据指定的范围条件将数据分配到相应的分区中。这种分区方式可以使得表的数据按…

2024前端面试题-css篇

1.p和div区别 p自带有一定margin-top和margin-bottom属性值&#xff0c;而div两个属性值为0&#xff0c;也便是两个p之间有不一定间距&#xff0c;而div没有。 2.对css盒模型的理解 标准盒模型&#xff1a;content不包括padding、border、margin ie盒模型&#xff1a;conten…

关于我的生信笔记开通《知识星球》

关于知识星球 1. 为什么到现在才开通《知识星球》 从很早关注我的同学应该了解小杜的知识分享历程&#xff0c;小杜是从2021年11月底开始进入此“坑”&#xff0c;一直坚持到现在&#xff0c;马上3年了&#xff08;24年11月底到期&#xff09;。自己也从一个小青年&#xff0…

【图文并茂】ant design pro 如何统一封装好 ProFormSelect 的查询请求

你仔细看上面的图片吧 经常有这样的需求吧。 这些列表都是查询出来的。 后端 你的后端必须要有 api 。 const getUsers handleAsync(async (req: Request, res: Response) > {const { email, name, live, current 1, pageSize 10 } req.query;const query: any {};…

的卢易表:批量处理Excel数据的自动化工具

的卢易表&#xff1a;批量处理Excel数据的自动化工具 简介 的卢易表是一个可以批量批量处理Excel数据的自动化工具。 自动化是其最大的特点&#xff0c;因为它可以根据配置好的选项自动处理excel数据。 批量是它另一个特点&#xff0c;因为可以做到自动化&#xff0c;所以你可…

JavaScript语法基础之DOM基础

目录 1. DOM 基础 1.1. DOM 是什么&#xff1f; 1.1.1. DOM 对象 1.1.2. DOM 结构 1.2. 节点类型 1.3. 获取元素 1.3.1. getElementById() 1.3.2. getElementsByTagName() 1.3.3. getElementsByClassName() 1.3.4. getElementsByName() 1.4.如何去操作对象 修改属性…

代驾系统源码开发中的用户体验优化:从设计到实现的全方位解析

在当今数字化时代&#xff0c;代驾服务已经成为城市生活中不可或缺的一部分。为了帮助开发者和企业快速搭建代驾服务平台&#xff0c;许多开源的代驾系统源码应运而生。这些源码不仅节省了开发时间&#xff0c;还为进一步的定制化开发提供了坚实的基础。本文将以“开源代驾系统…

Git使用——将GitHub设置成Token

GitHub提供了一种授权方式&#xff0c;使用Token来代替用户名和密码进行身份验证&#xff1b; 下面是将GitHub设置成Token的方法和操作流程&#xff1b; 一、登录GitHub账户 1. GitHub官网&#xff1a;https://github.com 2. 点击右上角的“Sign in”按钮&#xff0c;输入Gi…

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战&#xff08;7&#xff09;——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计…

Leetcode JAVA刷刷站(74)搜索二维矩阵

一、题目概述 二、思路方向 要在一个满足上述条件的矩阵中查找一个整数 target&#xff0c;我们可以利用矩阵的排序和递增特性来优化搜索过程。由于矩阵的每一行都是非严格递增的&#xff0c;且后一行的第一个元素大于前一行的最后一个元素&#xff0c;我们可以将矩阵视为一个…

Enhancing Octree-Based Context Models for Point Cloud Geometry Compression 论文笔记

1. 论文基本信息 发布于&#xff1a; IEEE SPL 2024 2. 创新点 分析了基于 one-hot 编码的交叉熵损失函数为什么不能准确衡量标签与预测概率分布之间的差异。介绍了 ACNP 模块&#xff0c;该模块通过预测占用的子节点数量来增强上下文模型的表现。实验证明了ACNP模块在基于八…

Linux --- 文件系统

1. 文件系统的概念 Linux 文件系统是一种用于管理、存储和组织数据的层次结构&#xff0c;用于在 Linux 操作系统中管理磁盘上的数据存储。它定义了如何在存储介质&#xff08;如硬盘、固态硬盘或 USB 闪存&#xff09;上组织文件和目录&#xff0c;以及如何读取、写入和操作这…

【时间序列预测_python_jupyter】使用neuralforecast包在jupyter-lab上预测并绘图

neuralforecast包有很多引入好的时间序列预测算法模型&#xff0c;可以直接通过接口调用。 支持的算法模型有&#xff1a; __all__ [RNN, GRU, LSTM, TCN, DeepAR, DilatedRNN,MLP, NHITS, NBEATS, NBEATSx, DLinear, NLinear,TFT, VanillaTransformer, Informer, Autoforme…

wsl2 airsim wairing for connect (Windows11 UE4.27)问题解决

一、概述 这里记述我遇到我在使用wsl2子系统与Windows11上进行交互时候&#xff0c;遇到的一些我之前没有遇到过的问题。 之前的我写的配置链接在这里。 UE5 with plugins AirSim in Windows & ROS in WSL2-Ubuntu 20.04配置过程记录_airsim ue5-CSDN博客文章浏览阅读455次…

Linux云计算 |【第二阶段】SECURITY-DAY2

主要内容&#xff1a; Zabbix报警机制&#xff08;创建触发器、设置邮箱、执行动作&#xff09;&#xff0c;Zabbix进阶操作&#xff08;主动发现、主被动监控模式、拓扑图、聚合图形&#xff09;、监控案例&#xff08;监控Nginx服务状态、监控TCP连接状态&#xff09; 一、Z…

C#开发基础之100个常用的C#正则表达式

前言 正则表达式是处理字符串的强大工具&#xff0c;特别是在文本搜索、替换和验证中。本文将100个常用的C#正则表达式进行分类&#xff0c;以帮助我们更快速地找到适合的正则表达式解决方案。 1. 基础匹配 这些正则表达式用于匹配一些基本的字符或字符串模式。 匹配任意字…