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

代码随想录day39 || 动态规划 || 不同路径

62.不同路径

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

思路

● dp数组初始化,第一行第一列是1,然后某个位置只能从上面或者左面过来
● 时间复杂度:O(m × n)
● 空间复杂度:O(m × n)

代码

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

63. 不同路径 II

● 力扣题目链接
● 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
● 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
● 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

思路

● 在初始化和遍历的时候加上是否是障碍物的判断

代码

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][] dp = new int[m][n];for (int i = 0; i < m && obstacleGrid[i][0] == 0; i++) {dp[i][0] = 1;}for (int i = 0; i < n && obstacleGrid[0][i] == 0; i++) {dp[0][i] = 1;}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {dp[i][j] = (obstacleGrid[i][j] == 0) ? dp[i - 1][j] + dp[i][j - 1] : 0;}}return dp[m - 1][n - 1];}
}
// 空间优化
class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[] dp = new int[n];for (int i = 0; i < n && obstacleGrid[0][i] == 0; i++) {dp[i] = 1;}for (int i = 1; i < m; i++) {for (int j = 0; j < n; j++) {if (obstacleGrid[i][j] == 1) dp[j] = 0;else if (j != 0) dp[j] += dp[j - 1];}}return dp[n - 1];}
}

相关文章:

代码随想录day39 || 动态规划 || 不同路径

62.不同路径 ● 力扣题目链接 ● 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 ● 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 ● 问总共有…...

电商平台API接口采集电商平台淘宝天猫京东拼多多数据获取产品详情信息,销量,价格,sku案例

淘宝SKU详情接口是指&#xff0c;获取指定商品的SKU&#xff08;Stock Keeping Unit&#xff0c;即库存量单位&#xff09;的详细信息。SKU是指提供不同的商品参数组合的一个机制&#xff0c;通过不同的SKU来标识商品的不同组合形式&#xff0c;如颜色、尺寸等。SKU详情接口可以…...

The ‘<‘ operator is reserved for future use. 错误解决

The < operator is reserved for future use. 错误解决 在 PowerShell 终端执行 python learnstock.py < ldata.txt 发生错误&#xff0c; The < operator is reserved for future use.解决方法&#xff0c; cmd /c python learnstock.py < ldata.txt完结&#x…...

vulnhub靶机Thoth-Tech

下载地址&#xff1a;https://download.vulnhub.com/thothtech/Thoth-Tech.ova 主机发现 arp-scan -l 目标&#xff1a;192.168.21.148 端口扫描 nmap --min-rate 10000 -p- 192.168.21.148 服务扫描 nmap -sV -sT -O -p21,22,80 192.168.21.148 漏洞扫描 nmap --scriptvu…...

不可思议,无密码登录所有网站!

hello&#xff0c;我是小索奇 居然可以免密码登录你的网站&#xff1f;听起来是不是很恐怖 确实如此&#xff0c;Cookie可以用于保持用户在网站上的登录状态&#xff0c;从而实现 免密码登录&#xff0c;学会了不要做坏事哈 这里仅做免密码登录的实操&#xff0c;就不介绍Cooki…...

深度学习编译器关键组件

1 高层中间代码 为了克服传统编译器中采用的IR限制DL模型中复杂计算的表达的局限性&#xff0c;现有的DL编译器利用高层IR&#xff08;称为图IR&#xff09;进行高效的代码优化设计。 1.1 图表示 基于DAG的IR&#xff1a;基于DAG的IR是编译器构建计算图的最传统方法之一&…...

【C++】string类模拟实现下篇(附完整源码)

目录 1. resize2. 流插入<<和流提取>>重载2.1 流插入<<重载2.2 流提取 << 3. 常见关系运算符重载4. 赋值重载4.1浅拷贝的默认赋值重载4.2 深拷贝赋值重载实现4.3 赋值重载现代写法 5. 写时拷贝(了解&#xff09;6.源码6.1 string.h6.2 test.cpp 1. res…...

Android高级开发-APK极致优化

九道工序 1. SVG(Scalable Vector Graphics)可缩放矢量图 使用矢量图代替位图可以减小 APK 的尺寸&#xff0c;因为可以针对不同屏幕密度调整同一文件的大小&#xff0c;而不会降低图像质量。 矢量图首次加载时可能消耗更多的 CPU 资源。之后&#xff0c;二者的内存使用率和…...

Rocketmq--消息驱动

1 MQ简介 1.1 什么是MQ MQ&#xff08;Message Queue&#xff09;是一种跨进程的通信机制&#xff0c;用于传递消息。通俗点说&#xff0c;就是一个先进先出的数据结构。 1.2 MQ的应用场景 1.2.1 异步解耦 最常见的一个场景是用户注册后&#xff0c;需要发送注册邮件和短信通…...

华为云云耀云服务器L实例评测|centos系统搭建git私服

搭建git私服 前言一、华为云云耀云服务器L实例租用二、华为云云耀云服务器L实例安装git三、华为云云耀云服务器L实例git配置1.创建文件用于存放公钥2.设置文件权限3.配置本地公钥 四、华为云云耀云服务器L实例部署git仓库四、git仓库到本地总结 前言 之前一直想搭建一个属于自…...

苹果CMS主题 MXonePro二开优化修复开源版影视网站源码

MXPro模板主题(又名&#xff1a;mxonepro)是一款基于苹果cms程序的一款全新的简洁好看UI的影视站模板类似于西瓜视频&#xff0c;不过同对比MxoneV10魔改模板来说功能没有那么多,也没有那么大气&#xff0c;但是比较且可视化功能较多简洁且有周更记录样式等多功能后台设置&…...

【新版】系统架构设计师 - 软件架构设计<轻量级架构>

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 软件架构设计&#xff1c;轻量级架构&#xff1e;考点摘要轻量级架构表示层业务逻辑层持久层数据库 SSH与SSMORMHibernate与Mybatis 架构 - 软件架构设计&#xff1c;轻量级架构&#xff1e; 考点…...

系统架构设计专业技能 ·结构化需求分析 - 数据流图

现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 结构化需求分析 - 数据流图 一、数据流图的基本概念二、需…...

linux内核分析:线程和进程创建,内存管理

lec18-19:进程与线程创建 lec20-21虚拟内存管理 内核代码,全局变量这些只有一份,但是内核栈有多份,这可能就是linux线程模型1对1模式的由来。通过栈来做的 x86 CPU支持分段和分页(平坦内存模式)两种 分段,选择子那里就有特权标记了...

SpringMvc根据返回值类型不同处理响应

目录 一、介绍 二、返回值为void &#xff08;1&#xff09;控制层方法 三、返回值为String &#xff08;1&#xff09;控制层 四、返回值为ModelAndView &#xff08;1&#xff09;控制层方法 &#xff08;2&#xff09;jsp页面 一、介绍 我们可以通过控制器方法的返回…...

jq命令安装与使用

目录 一、简介二、下载及安装1.Linux 安装2.Windows 安装3.测试安装结果 三、jq用法1.基本语法2.常见用法1&#xff09;格式化 JSON2&#xff09;获取属性3&#xff09;属性不存在情况处理4&#xff09;数组遍历、截取、展开5&#xff09;管道、逗号、加号6&#xff09;数据构造…...

网络面试题汇总

简述 TCP 连接的过程&#xff08;淘系&#xff09; 参考答案&#xff1a; TCP 协议通过三次握手建立可靠的点对点连接&#xff0c;具体过程是&#xff1a; 首先服务器进入监听状态&#xff0c;然后即可处理连接 第一次握手&#xff1a;建立连接时&#xff0c;客户端发送 syn 包…...

Java————初始集合框架

一 、 集合框架 Java 集合框架Java Collection Framework &#xff0c;又被称为容器container &#xff0c; 是定义在 java.util 包下的一组接口interfaces 和其实现类classes 。 其主要表现为将多个元素element 置于一个单元中&#xff0c; 用于对这些元素进行快速、便捷的存…...

SpringMvc如何向context域设置数据

目录 &#xff08;1&#xff09;控制层方法 &#xff08;2&#xff09;jsp页面 context作用域表示在整个应用范围都有效。在SpringMVC中对context作用域传值&#xff0c;只能使用ServletContext对象来实现。但是该对象不能直接注入到方法参数中&#xff0c;需要通过HttpSessi…...

深入探索智能问答:从检索到生成的技术之旅

目录 一、智能问答概述1. **语义理解**2. **知识库和数据库**3. **上下文感知**4. **动态学习和自适应** 二、发展历程1. **基于规则的系统**2. **统计方法的兴起**3. **深度学习和神经网络的突破**4. **预训练模型** 三、智能问答系统的主要类型四、基于知识库的问答系统五、基…...

Notepad--:跨平台轻量级文本编辑器的完整指南与快速上手

Notepad--&#xff1a;跨平台轻量级文本编辑器的完整指南与快速上手 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- No…...

GBase 8c数据库权限管理场景实践 分享

环境要求项目参数目标数据库turboex数据库端口15400测试用户turboserver / turbolog测试模式test_privileges环境准备-- 清理旧环境gsql -r -d postgres -p 15400clean connection to all force for database turboex;drop database if exists turboex;drop user if exists tur…...

PyTorch 2.8镜像惊艳效果:Wan2.2-T2V在RTX 4090D上生成1080p视频实录

PyTorch 2.8镜像惊艳效果&#xff1a;Wan2.2-T2V在RTX 4090D上生成1080p视频实录 1. 开篇&#xff1a;专业级视频生成环境 当我们需要处理视频生成这类计算密集型任务时&#xff0c;一个稳定高效的运行环境至关重要。今天要介绍的PyTorch 2.8深度优化镜像&#xff0c;正是为R…...

强烈建议Java面试后一定要及时“复盘”!

金三银四到了&#xff0c;不知道大家在这之前是否都拿到了自己理想的Offer&#xff1f;是否做好面试的复盘&#xff1f;对于我们做技术的来讲&#xff0c;每次面试之后的复盘工作非常重要&#xff0c;一次好的复盘能让我们认识到自己的短板&#xff0c;明确我们后续努力的方向&…...

通义千问1.8B-GPTQ-Int4快速上手:3步完成vLLM部署与Web交互调用

通义千问1.8B-GPTQ-Int4快速上手&#xff1a;3步完成vLLM部署与Web交互调用 1. 环境准备与快速部署 想要快速体验通义千问1.8B模型的强大能力吗&#xff1f;只需要三个简单步骤&#xff0c;你就能在自己的环境中部署这个经过GPTQ-Int4量化优化的轻量级模型&#xff0c;并通过…...

OnmyojiAutoScript副本效率提升指南:从异常排查到性能优化

OnmyojiAutoScript副本效率提升指南&#xff1a;从异常排查到性能优化 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动脚本(OnmyojiAutoScript)作为一款为玩家提供自动…...

通义千问2.5-7B-Instruct量化实测:4GB显存就能跑,RTX 3060流畅运行

通义千问2.5-7B-Instruct量化实测&#xff1a;4GB显存就能跑&#xff0c;RTX 3060流畅运行 1. 引言&#xff1a;为什么选择通义千问2.5-7B-Instruct 在本地部署大语言模型时&#xff0c;我们常常面临显存不足和性能瓶颈的问题。通义千问2.5-7B-Instruct作为阿里云2024年9月发…...

避坑指南:Unity环境搭建中最容易忽略的5个配置项(含Android/iOS模块选择建议)

Unity环境搭建避坑指南&#xff1a;5个高频遗漏配置与移动端优化策略 刚接触Unity的开发者往往会被其强大的跨平台能力吸引&#xff0c;却在环境搭建阶段就踩进各种"坑"。我曾见过团队因一个遗漏的配置项浪费三天排查时间&#xff0c;也遇到过新手因模块选择不当导致…...

图解贝叶斯网络:从D-划分到马尔科夫毯的实战解析

1. 贝叶斯网络入门&#xff1a;从概率到图模型 第一次接触贝叶斯网络时&#xff0c;我完全被那些箭头和概率表搞晕了。直到有一天在玩扫雷游戏时突然开窍——这不就是典型的概率推理问题吗&#xff1f;贝叶斯网络本质上就是用图形化的方式&#xff0c;把一堆随机变量之间的条件…...

效率提升秘籍:快马一键生成notepad官网直达与版本匹配工具

今天想和大家分享一个提升工作效率的小技巧——如何快速获取Notepad的官方下载链接。相信很多开发者都遇到过这样的场景&#xff1a;每次换新电脑或重装系统时&#xff0c;都要手动搜索Notepad官网&#xff0c;然后在一堆下载链接中寻找适合自己系统的版本。这个过程虽然简单&a…...