leetcode hot100不同路径

在这里插入图片描述
本题可以采用动态规划来解决。还是按照五部曲来做
确定dp数组:dp[i][j]表示走到(i,j)有多少种路径

确定递推公式:我们这里,只有两个移动方向,比如说我移动到(i,j)那么只能从(i-1,j)或者从(i,j-1)移动,所以,dp[i][j] = dp[i-1][j] + dp[i][j-1]。因为我们求的是路径,并不是步数,所以从dp[i-1][j]到dp[i][j]只有一个路径,同理,所以二者相加即可。

初始化:我们要知道,只能向下或者向右走,也就是说只有两个移动方向,那么如果我们只在第一行移动的时候,dp[0][j]=1,数组的值都是1;同理,只在第一列上移动,dp[i][0]=1;

遍历顺序:我们直接从左到右从上到下依次遍历即可(题中规定)

打印

class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];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];}
}

注意:

  1. 初始化的时候,按照上述分析直接初始化即可,第一行或者第一列只有一种路径。
  2. 在初始化的时候,只需要初始化到m-1/n-1,因为我们是从下标0开始的。
  3. 在遍历的时候,我们应该从1开始,因为0已经初始化了(行/列)。我们for循环结束的条件就是i<m/j<n,因为我们最后是要走到(i,j)的路径个数,但数组我们是从0开始的,所以只需要<m就可以,并不需要i<=m,并直接返回dp[m-1][n-1]即可。

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

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

相关文章

【实战】二、Jest难点进阶(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(六)

文章目录 一、Jest 前端自动化测试框架基础入门二、Jest难点进阶2.mock 深入学习 学习内容来源&#xff1a;Jest入门到TDD/BDD双实战_前端要学的测试课 相对原教程&#xff0c;我在学习开始时&#xff08;2023.08&#xff09;采用的是当前最新版本&#xff1a; 项版本babel/co…

STM32 寄存器操作 systick 滴答定时器 与中断

一、什么是 SysTick SysTick—系统定时器是属于CM3内核中的一个外设&#xff0c;内嵌在NVIC中。系统定时器是一个24bit的向下递减的计数器&#xff0c; 计数器每计数一次的时间为1/SYSCLK&#xff0c;一般我们设置系统时钟SYSCLK等于72M。当重装载数值寄存器的值递减到0的时候…

ES6中的数组解构赋值【详解】

文章目录 1.数组的解构赋值1.1 基本用法1.2 默认值1.3更多对象解构赋值 1.数组的解构赋值 1.1 基本用法 ES6允许按照一定的模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为结构。 let [a, b, c] [1, 2, 3];如果解构不成功&#xff0c…

python学习(三):pip安装及如何加速安装第三方组件

pip全称Package Installer for Python&#xff0c;即用来安装第三方组件的工具 一.安装pip Python3中setuptools、Pip安装详解 1、安装setuptools 命令如下&#xff1a; wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.…

不确定性、先验概率_后验概率、概率密度、贝叶斯法则、朴素贝叶斯_、最大似然估计

【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯 文章目录 【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯不确定性不确定性与理性决策基本概率符号先验概率(无条件概率)/后验概率(条件概率)随机变量概率密度联…

【web | CTF】BUUCTF [网鼎杯 2020 青龙组]AreUSerialz

天命&#xff1a;php的序列化题目简直是玄学&#xff0c;既不能本地复现&#xff0c;也不能求证靶场环境 天命&#xff1a;本地php是复现不了反序列化漏洞的&#xff0c;都不知道是版本问题还是其他问题 天命&#xff1a;这题也是有点奇怪的&#xff0c;明明用字符串2也应该是可…

优雅地用eruda在移动端上调试网页

eruda简介 github开源项目网址:eruda Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、捕获XHR请求、显示本地存储和 Cookie 信息等等。 其有以下功能: Console面板:捕获Console日志,支持log、…

C语言—指针

碎碎念:做指针题的时候我仿佛回到了原点&#xff0c;总觉得目的是为了把框架搭建起来&#xff0c;我胡说的哈31 1.利用指针变量将一个数组中的数据反向输出。 /*1.利用指针变量将一个数组中的数据反向输出。*/#include <stdio.h> #include <time.h> #include <…

phpstrom创建thinkphp项目

安装php和composer 参考 安装phpstrom 创建项目 查看thinkphp版本 https://packagist.org/packages/topthink/think 打开所在项目编辑配置 即可调试运行

二维码的颜色怎么改变?轻松3步修改二维码样式

怎么修改二维码的颜色呢&#xff1f;一般我们制作的二维码或者经过系统生成的二维码大多都是黑白颜色的&#xff0c;有些小伙伴会觉得不太美观无法满足自己的使用需求。那么对于想要修改二维码样式的小伙伴&#xff0c;可以使用二维码生成器的二维码美化功能来处理&#xff0c;…

小红书种草笔记是什么?小红书种草什么意思?

小红书种草笔记是指在小红书这个平台上&#xff0c;用户发布的关于生活方式、消费经验、美妆、时尚、旅行等方面的分享和推荐。这种笔记通常以第一人称叙述&#xff0c;以个人体验和感受为基础&#xff0c;向其他用户推荐自己喜欢或认为值得尝试的产品、服务或体验。种草一词源…

07 按键控制 LED

按键简介 按键开关是一种电子开关&#xff0c;属于电子元器件类。常见的按键开关有两种&#xff0c;第一种是轻触式按键开关&#xff08;简称轻触开关&#xff09;&#xff0c;使用时以向开关的操作方向施加压力使内部电路闭合接通&#xff0c;当撤销压力时开关断开&#xff0…

git分布式版本控制工具基本操作

Windows操作 1.1 git基本操作 1.设置用户签名 git config user.name xx git config user.email xxb163.com2.初始化本地库 git init3.查看本地库状态 git status4.添加暂存区 git add 文件名称 git add *5.提交本地库 git commit -m "描述信息" 文件6.查看版本…

《富爸爸:巴比伦最富有的人》读书笔记

目录 作者简介 感悟 经典摘录 观点&#xff1a; 支付给自己(理解是投资自己) 观点&#xff1a;源源不断地放入金币 观点&#xff1a; 把收入的一部分留给我自己 观点&#xff1a; 从专业的人士得到建议 观点&#xff1a;一旦为自己规定了任务&#xff0c;就一定要完成 …

虚拟环境(二)venv

1、创建虚拟环境 python3 -m venv fastapi_test2、激活虚拟环境 source <环境名称>/bin/activate3、关闭虚拟环境 deactivate4、从虚拟环境生成 requirement.txt 在激活虚拟环境下敲pip freeze > requirement.txt 5、安装依赖包 在激活虚拟环境下敲使用pip inst…

微波炉维修笔记

微波主要是靠2.45GHz 左右的微波(12.2cm 波长)加热水分子实现食物加热 所有不要使用金属器皿进行加热&#xff0c;要么因为电磁屏蔽&#xff0c;起不到加热效果&#xff0c;要么火光四射 微波炉基本组成 借鉴姜师傅的视频 碰到不加热其它都正常的问题 1.检查高压电容 使用万…

自动驾驶中的 DCU、MCU、MPU、SOC 和汽车电子架构

自动驾驶中的 DCU、MCU、MPU 1. 分布式电子电气架构2. 域集中电子电气架构架构2.1 通用硬件定义 3. 车辆集中电子电气架构4. ADAS/AD系统方案演变进程梳理4.1 L0-L2级别的ADAS方案4.2 L2以上级别的ADAS方案 5. MCU和MPU区别5.1 MCU和MPU的区别5.2 CPU与SoC的区别5.3 举个例子 R…

算法:柠檬水找零

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、问题描述 二、解法分析 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0…

【STM32】软件SPI读写W25Q64芯片

目录 W25Q64模块 W25Q64芯片简介 硬件电路 W25Q64框图 Flash操作注意事项 状态寄存器 ​编辑 指令集 INSTRUCTIONS​编辑 ​编辑 SPI读写W25Q64代码 硬件接线图 MySPI.c MySPI.h W25Q64 W25Q64.c W25Q64.h main.c 测试 SPI通信&#xff08;W25Q64芯片简介&am…

关于CDN

CDN&#xff08;内容分发网络&#xff09;是一种分布式的服务器系统&#xff0c;旨在有效地提供互联网上的内容&#xff0c;特别是静态资源&#xff0c;如图片、样式表、脚本文件等。CDN的主要目标是提高网站的性能、降低加载时间&#xff0c;并减轻原始服务器的负载。 CDN的工…