hot100_62不同路径

不同路径

  • 题目
  • 思路、代码
    • 1.排列组合
    • 2.动态规划

题目

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
在这里插入图片描述

示例 2:
输入:m = 3, n = 2
输出:3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下示例 3:
输入:m = 7, n = 3
输出:28示例 4:
输入:m = 3, n = 3
输出:6

思路、代码

1.排列组合

因为机器到底右下角,向下几步,向右几步都是固定的,
比如,m=3, n=2,我们只要向下 1 步,向右 2 步就一定能到达终点。
所以有
在这里插入图片描述
python

def uniquePaths(self, m: int, n: int) -> int:return int(math.factorial(m+n-2)/math.factorial(m-1)/math.factorial(n-1))

2.动态规划

令 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]
注意:第一行dp[0][j] ,第一列dp[i][0],因为都在左边界,所以只能为1
java

class Solution {public int uniquePaths(int m, int n) {int[][] f = new int[m][n];for (int i = 0; i < m; ++i) {f[i][0] = 1;}for (int j = 0; j < n; ++j) {f[0][j] = 1;}for (int i = 1; i < m; ++i) {for (int j = 1; j < n; ++j) {f[i][j] = f[i - 1][j] + f[i][j - 1];}}return f[m - 1][n - 1];}
}

python

class Solution:def uniquePaths(self, m: int, n: int) -> int:f = [[1] * n] + [[1] + [0] * (n - 1) for _ in range(m - 1)]print(f)for i in range(1, m):for j in range(1, n):f[i][j] = f[i - 1][j] + f[i][j - 1]return f[m - 1][n - 1]

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

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

相关文章

YOLOv5改进 | 注意力机制 | 在主干网络中添加SOCA模块【原理+附完整代码】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 现有的基于CNN的SISR方法主要关注更宽或更深的架构设计&#xff0c;忽视了探索中间层的特征相关性&#xff0c;因此阻碍了CNN的表达能力。为…

Java_集合并发修改异常

集合的并发修改异常 使用迭代器遍历集合时&#xff0c;又同时在删除集合中的数据&#xff0c;程序就会出现并发修改异常的错误 public class CollectionTest1{public static void main(String[] args){List<String> list new ArrayList<>();list.add("王麻子…

nginx c++模块编译

不论是c还是c&#xff0c;nginx的第三方模块编写没什么太区别&#xff0c;但是提供给nginx调用的&#xff0c;必须是纯c的接口。 先说下为什么不能使用c编译nginx&#xff0c;nginx是纯c写的&#xff0c;而且c是兼容c的&#xff0c;但是用c(g)编译nginx的框架&#xff0c;就会出…

嵌入式学习——网络编程——day33基于网络爬虫技术的天气数据查询

1. 背景 我们都知道&#xff0c;天气数据不但影响着我们的各行各业&#xff0c;而且也和我们个人息息相关&#xff0c;能够快速的获取所需要的天气数据能够为我们的日常工作和生活提供非常大的便利。目前天气数据都会通过各种网站进行发布&#xff0c;虽然我们可以通过这些网站…

VRRP----虚拟路由器冗余协议(技术专题)

目录 一、VRRP的基本原理 1.1 技术背景 1.2 VRRP带来了什么 1.2.1 VRRP的作用 1.2.2 VRRP工作的过程 1.2.3 VRRP报文: 1.3 VRRP术语 1.3.1 虚拟IP地址、MAC地址 1.3.2 Master、Backup路由器 二、VRRP的基础配置 实例一 需求 配置 一、VRRP的基本原理 1.1 技术背景…

docker 拉取镜像报错: error pulling image configuration:(kafka)

一、问题描述 docker 拉取镜像报错: error pulling image configuration:&#xff08;kafka&#xff09; ERROR: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/a6/a692873757c06a38279b61…

idea debug时提示”Method breakpoints may dramatically slow down debugging“的解决办法

问题现象 今天同事喊我过去看一个问题&#xff0c;项目正常启动的时候没问题&#xff0c;debug模式就卡住了&#xff0c;很久不动。我推测是哪个断点导致的&#xff0c;一看断点果然有情况。在方法上打了断点。 解决方式(Android Studio一样的解决&#xff09; 1、View Brea…

使用React Hooks有什么优势

随着React 16.8版本的发布&#xff0c;React Hooks作为一项革命性的新特性&#xff0c;彻底改变了我们构建和管理React应用状态的方式。Hooks不仅简化了函数组件的复杂逻辑&#xff0c;还极大地提升了代码的复用性和可读性。在本文中&#xff0c;我们将深入探讨React Hooks的优…

视频大模型 Vidu 支持音视频合成;字节跳动推出语音生成模型 Seed-TTS 丨 RTE 开发者日报 Vol.221

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

ABAP - SAP与企业微信集成

最近接到一个SAP直接给企业微信推送消息的需求&#xff0c;说实话之前一直没接触过&#xff0c;脑袋空空的&#xff0c;最终通过在百度搜索案例成功解决了&#xff0c;百度虽然一直被诟病&#xff0c;但却无法否认它的神奇。实现效果 实现思路&#xff1a;从需求出发&#xff0…

构建数字社会:Web3时代的社会治理与价值重构

随着数字化技术的飞速发展&#xff0c;我们正逐渐迈入Web3时代&#xff0c;这是一个以去中心化、开放性和透明性为特征的新时代。在这个时代&#xff0c;数字技术将不仅仅改变我们的生活方式和商业模式&#xff0c;还将对社会治理和价值观念产生深远影响。本文将探讨Web3时代下…

智能合约中整数溢出和下溢漏洞

整数溢出和下溢&#xff1a; 当数学运算的结果超出整数类型所能表示的范围时&#xff0c;会导致数值错误地回绕&#xff0c;这可以被攻击者利用来获取额外的代币或资源。 溢出示例 假设我们有一个智能合约&#xff0c;它接收用户存款并存储在一个变量中。如果用户尝试存入的…

夏日骑行新宠降临!VELO Eden Angel坐垫 —— 让你的征途如诗般惬意!

夏日炎炎&#xff0c;是时候与维乐Eden Angel坐垫&#xff08;型号VL-6319&#xff09;共舞&#xff0c;开启一场关于自由与舒适的长途骑行盛宴&#xff01;这不仅是一款坐垫&#xff0c;它是你探索世界、追逐夏日风光的秘密武器。    聚丙烯底壳与钢弓的精妙组合&#xff…

Soildworks学习笔记(一)

1.如何添加M3,M4等螺丝孔&#xff1a; 有时候异形孔向导显示灰色是因为没有退出草图选项卡&#xff0c;选择异形孔向导就可以进行异形孔的设定和放置&#xff1a; solidwork放置螺丝孔以及显示螺纹的问题_.16-m3 solidwork-CSDN博客 2.如何修剪线条&#xff1a; 如何倒圆角或…

20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048

20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048 2024/6/7 13:59 1、背光部分&#xff1a;&backlight { pwms <&pwm2 0 25000 0>; status "okay"; }; &pwm2 { status "okay&…

京准电子 GPS网络时间服务器为工业4.0保驾护航

京准电子 GPS网络时间服务器为工业4.0保驾护航 京准电子 GPS网络时间服务器为工业4.0保驾护航 工业4.0起源于 2011 年——被广泛归因于德国政府在当年汉诺威工业博览会上公布的一项战略。十三年过去了&#xff0c;制造业发生了很大变化。在许多情况下&#xff0c;工业4.0的基本…

C#面:AJAX的底层实现原理

C# AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种用于在应用程序中现异步通信的技术。它许在不刷新个页面的情况下&#xff0c;通过与服务器进行异步通信来更新部分页面内容。 C# AJAX的底层实现原理主要包括以下几个方面&#xff1a; XMLHttpRequest对…

生活中优秀学习习惯

早起&#xff1a; 23点睡--4至6点起床&#xff08;睡足7、8个钟头&#xff09;&#xff0c;起来第一件事是工作&#xff08;或学习&#xff09;。不是吃早餐&#xff0c;不是刷牙。&#xff08;空腹工作一段时间&#xff09;--做推理让头脑运作&#xff0c;不要背书&#xff0…

海康威视综合安防管理平台 多处 FastJson反序列化RCE漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 由于…

每日一练 2024.6.7

给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作&#xff0c;在每一步操作中&#xff0c;你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作&#xff0c;删除所有 "AB" 和 "CD" 子串&#x…