当前位置: 首页 > news >正文

【力扣刷题第一天】63.不同路径Ⅱ

63.不同路径Ⅱ

🚀 题目

题目来源:leetcode 63. 不同路径Ⅱ:63. 不同路径 II - 力扣(LeetCode);

给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 obstacleGrid[0][0])。机器人尝试移动到 右下角(即 obstacleGrid[m - 1][n - 1])。机器人每次只能向下或者向右移动一步。

网格中的障碍物和空位置分别用 10 来表示。机器人的移动路径中不能包含 任何 有障碍物的方格。

返回机器人能够到达右下角的不同路径数量。

🚁 解答

🚆 初始化

  1. dp[][]数组,表示指定格子位置有多少种路径数量,0表示没有路径到达该位置
  2. 将第一行和第一列都初始化为 1(注意,当第一行和第一列遇到一个障碍后,其后面的都不能到达了,都初始化为 0,也就是默认值)
  3. 有障碍的地方初始化为 0,表示不可到达

🚇 递推公式

dp[i][j] == dp[i][j - 1] + dp[i - 1][j],当obstacleGrid[i][j] != 1(也就是没有障碍的时候)的时候才进行递推,否则不递推

🚠 代码

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {// 记录格子大小int x = obstacleGrid.length;int y = obstacleGrid[0].length;int[][] dp = new int[x][y];// 初始化 y 轴列for(int i = 0; i < x && obstacleGrid[i][0] != 1; i++) dp[i][0] = 1;// 初始化 x 轴行for(int i = 0; i < y && obstacleGrid[0][i] != 1; i++) dp[0][i] = 1;for(int i = 1; i < x; i++){for(int j = 1; j < y; j++){if(obstacleGrid[i][j] != 1){dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}}return dp[x - 1][y - 1];}
}

相关文章:

【力扣刷题第一天】63.不同路径Ⅱ

63.不同路径Ⅱ &#x1f680; 题目 题目来源&#xff1a;leetcode 63. 不同路径Ⅱ&#xff1a;63. 不同路径 II - 力扣&#xff08;LeetCode&#xff09;&#xff1b; 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角&#xff08;即 obstacleGrid[0][0]&#xf…...

如何优化Python网络爬虫的数据清洗流程,以提升数据质量并有效应对网站反爬虫机制?

优化爬虫数据清洗流程&#xff0c;应对反爬虫机制 一、数据清洗的重要性 在网络爬虫中&#xff0c;数据清洗是关键环节。打个比方&#xff0c;我们从网页抓取到的原始数据就像一堆杂乱的杂物&#xff0c;里面有各种格式、错误和重复信息。比如抓取到的文本可能包含HTML标签、…...

svn 相关应用与管理

文章目录 SVN 概要svn 权限控制svn 实操实例svn 备份 SVN 概要 一、SVN简介 Subversion&#xff08;SVN&#xff09;是一个开放源代码的版本控制系统&#xff0c;用于管理文件和目录的版本。它采用集中式的版本控制方式&#xff0c;即有一个中央仓库存储所有文件的版本信息&a…...

THM:Mouse Trap[WriteUP]

目录 连接至THM服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 提取扫描结果中的端口号 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机UDP常用端口进行开放扫描 使用smbmap尝试枚举靶机…...

Nginx详细安装配置过程

目录 1.nginx环境准备 1.1 在配置好yum源之后&#xff0c;安装如下的编译工具 1.2 安装nginx所需的依赖库 1.3 关闭防火墙&#xff0c;selinux&#xff0c;并确保网络正常 2.nginx的编译安装 2.1从nginx官网复制下载链接&#xff0c;wget 下载 2.2? 解压nginx源代码 2…...

目标检测入门指南:从原理到实践

目录 1. 数据准备与预处理 2. 模型架构设计 2.1 特征提取网络原理 2.2 区域提议网络(RPN)原理 2.3 特征金字塔网络(FPN)原理 2.4 边界框回归原理 2.5 非极大值抑制(NMS)原理 2.6 多尺度训练与测试原理 2.7 损失函数设计原理 3. 损失函数设计 4. 训练策略优化 5. 后…...

2024 高通边缘智能创新应用大赛智能边缘计算赛道冠军方案解读

2024 高通边缘智能创新应用大赛聚焦不同细分领域的边缘智能创新应用落地&#xff0c;共设立三大热门领域赛道——工业智能质检赛道、智能边缘计算赛道和智能机器人赛道。本文为智能边缘计算赛道冠军项目《端侧大模型智能翻译机》的开发思路与成果分享。 赛题要求 聚焦边缘智能…...

tcpdump 网络数据包分析工具

简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的…...

鱼眼相机模型与去畸变实现

1.坐标系说明 鱼眼相机模型涉及到世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换关系。对于分析鱼眼相机模型&#xff0c;假定世界坐标系下的坐标点,经过外参矩阵的变换转到相机坐标系&#xff0c;相机坐标再经过内参转换到像素坐标&#xff0c;具体如下 进一步进…...

【Unity功能集】TextureShop纹理工坊(七)魔棒工具

项目源码:在终章发布 索引 魔棒工具PS魔棒工具魔棒工具功能点提炼TextureShop魔棒工具根据色差选取非连续区域中间镂空边框的流动虚线取消选区魔棒工具 魔棒工具,也既是通过颜色色差,在图像上选出自定义选区的工具(了解PS魔棒工具)。 PS魔棒工具 我们先来看看PS中的魔棒…...

ASP.NET Core Web API Hangfire

ASP.NET Core Web API Hangfire 前言一、安装二、相关代码1.代码片段2.代码片段3.运行效果 三、测试代码1.即发即弃作业2.延迟作业3.重复作业4.延续作业5.页面调度作业 前言 &#x1f468;‍&#x1f4bb;&#x1f468;‍&#x1f33e;&#x1f4dd;记录学习成果&#xff0c;以…...

E-commerce .net+React(一)——项目初始化

文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建…...

算法每日双题精讲 —— 滑动窗口(水果成篮,找到字符串中所有字母异位词)

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 别再犹豫了&#xff01;快来订阅我们的算法每日双题精讲专栏&#xff0c;一起踏上算法学习的精彩之旅吧&#xff01;&#x1f4aa;…...

C++ 设计模式:享元模式(Flyweight Pattern)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 单例模式 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过共享尽可能多的相同对象来减少内存使用和提高性能。享元模式适用于大量细粒度对象的场景&#xff0c;这些对象之…...

Docker+Portainer 离线安装

1. Docker安装 步骤一&#xff1a;官网下载 docker 安装包 步骤二&#xff1a;解压安装包; tar -zxvf docker-24.0.6.tgz 步骤三&#xff1a;将解压之后的docker文件移到 /usr/bin目录下; cp docker/* /usr/bin/ 步骤四&#xff1a;将docker注册成系统服务; vim /etc/sy…...

Linux第100步_Linux之设置LCD作为终端控制台和LCD背光调节

KMS是Kemmel Mode Setting的缩写&#xff0c;内核显示模式设置。它主要负责显示的控制&#xff0c;包括屏幕分辨率、屏幕刷新率和颜色深度等等。 CRTC是指显示控制器&#xff0c;在DRM里有多个显存&#xff0c;通过操作CRTC来控制要显示那个显存。 KMS包含了FB框架。DRM驱动默…...

Chapter09 国际化i18n 和 数据校验:Validation

文章目录 1 Java国际化2 Spring6国际化3 使用Spring6国际化4 数据校验&#xff1a;Validation实验一&#xff1a;通过Validator接口实现实验二&#xff1a;Bean Validation注解实现实验三&#xff1a;基于方法实现校验实验四&#xff1a;实现自定义校验 1 Java国际化 示例&…...

活动预告 | Microsoft 安全在线技术公开课:通过扩展检测和响应抵御威胁

课程介绍 通过 Microsoft Learn 免费参加 Microsoft 安全在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft Cloud 技术的了解。参加我们举办的“通过扩展检测和响应抵御威胁”技术公开课活动&#xff0c;了解如何更好地在 Microsoft 365 Defen…...

Unresolved plugin: ‘org.apache.maven.plugins:maven-site-plugin:3.12.1‘

问题 使用idea 社区办加载项目提示下面问题&#xff1a; Unresolved plugin: org.apache.maven.plugins:maven-site-plugin:3.12.1 问题解决 maven插件地址&#xff1a; https://maven.apache.org/plugins/maven-dependency-plugin/plugins.html Maven 中央仓库地址&#…...

5个开源RAG框架对比

还在为RAG应用开发头疼吗&#xff1f;别急&#xff0c;今天给大家推荐五款完全开源免费的RAG框架&#xff0c;覆盖自动优化、多模态处理、本地部署、生产环境支持等多种场景&#xff0c;助你轻松搞定RAG开发&#xff01;&#x1f447; 1. AutoRAG&#xff1a;自动优化&#xff…...

MapAnything:从“万能钥匙”到“度量之眼”,Transformer如何重塑3D重建的统一范式

1. MapAnything&#xff1a;一把打开3D世界的万能钥匙 想象一下&#xff0c;你手里有一把能打开所有门的钥匙——无论是家里的防盗门、办公室的玻璃门&#xff0c;还是保险柜的金属门。在3D重建领域&#xff0c;MapAnything就是这把"万能钥匙"。传统3D重建就像需要携…...

AHT20传感器数据不准?可能是你的CRC校验没做对!一个真实案例的排查与修复

AHT20传感器数据异常&#xff1f;CRC校验可能是你忽略的关键环节 当你在嵌入式项目中集成AHT20温湿度传感器时&#xff0c;是否遇到过数据偶尔跳变或明显失真的情况&#xff1f;这个问题困扰过不少开发者&#xff0c;而解决方案往往藏在一个容易被忽视的细节里——CRC校验。让我…...

精选6款智能论文工具,支持AI降重与语言优化,有效降低重复率。

开头总结工具对比&#xff08;技能4&#xff09; &#xfffd;&#xfffd; 为帮助学生们快速选出最适合的AI论文工具&#xff0c;我从处理速度、降重效果和核心优势三个维度&#xff0c;对比了6款热门网站&#xff0c;数据基于实际使用案例&#xff1a; 工具名称 处理速度 降…...

Arcgis新手必看:如何用线矢量快速提取tif栅格值并绘制专业剖面线图

ArcGIS线矢量提取栅格值实战&#xff1a;从数据到专业剖面图的完整指南 当你第一次面对需要分析地形起伏、温度梯度或任何连续空间数据的变化趋势时&#xff0c;剖面线图无疑是直观展示这些信息的利器。作为ArcGIS平台的核心分析功能之一&#xff0c;线矢量提取栅格值并绘制剖面…...

中兴B860AV3.2-T芯片型号鉴别与刷机固件匹配全攻略

1. 中兴B860AV3.2-T芯片型号鉴别的重要性 最近在折腾中兴B860AV3.2-T盒子时&#xff0c;我发现一个特别容易踩坑的地方——这盒子居然有两种不同的处理器芯片&#xff01;一种是S905L3B&#xff0c;另一种是S905L3SB。刚开始我也没太在意这个区别&#xff0c;结果刷机时直接翻车…...

SEO案例教程有哪些

SEO案例教程有哪些&#xff1f;了解这些将大大提升你的网站排名 在当今的互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为每个网站运营者必须掌握的技能。无论你是新手还是有一些经验&#xff0c;了解和学习高质量的SEO案例教程都能帮助你提升网站的排…...

**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式

发散创新&#xff1a;基于Rust的轻量级权限管理库设计与开源许可证实践 在现代分布—...

从银行转账到会话管理:用C#时间戳实战防重放攻击与用户超时注销

从银行转账到会话管理&#xff1a;用C#时间戳实战防重放攻击与用户超时注销 在金融级应用开发中&#xff0c;时间戳从来不只是简单的时间表示。当用户A在网银发起一笔转账时&#xff0c;系统如何确认这个请求不是黑客截获后重放的旧数据包&#xff1f;当用户B离开电脑半小时后返…...

OpenClaw稳定性提升:Qwen3-14B长时运行的内存泄漏排查

OpenClaw稳定性提升&#xff1a;Qwen3-14B长时运行的内存泄漏排查 1. 问题背景&#xff1a;72小时无人值守的意外崩溃 上周我尝试用OpenClawQwen3-14B搭建一个自动化内容处理流水线&#xff0c;期望它能724小时不间断工作。前48小时运行良好&#xff0c;但在第72小时突然发现…...

企业网络架构设计:如何选择核心交换机、汇聚交换机和接入交换机(含真实案例)

企业网络架构设计实战&#xff1a;核心层、汇聚层与接入层交换机选型指南 当一家200人规模的制造企业决定升级网络基础设施时&#xff0c;IT负责人发现市场上交换机的型号多达上千种&#xff0c;价格从几百元到几十万元不等。核心交换机是否必须选用思科Catalyst 9500系列&…...