LeetCode算法刷题(python) Day42|09动态规划|62.不同路径、63. 不同路径 II

news2024/11/20 23:24:23

目录

  • LeetCode 62. 不同路径
  • LeetCode 63. 不同路径II

LeetCode 62. 不同路径

力扣题目链接

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp = [[1] * n for _ in range(m)]

        for j in range(n):
            for i in range(m):
                if i == 0 and j > 0:
                    dp[i][j] = dp[i][j-1]
                elif i > 0 and j == 0:
                    dp[i][j] = dp[i-1][j]
                elif i > 0 and j > 0:
                    dp[i][j] = dp[i-1][j] + dp[i][j-1]
        return dp[m-1][n-1]

LeetCode 63. 不同路径II

力扣题目链接
本题就是添加了障碍,只需保证dp数组在障碍的位置始终是0即可。

class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        if obstacleGrid[0][0] == 1: return 0
        m, n = len(obstacleGrid), len(obstacleGrid[0])
        dp = [[0]*n for _ in range(m)]
        dp[0][0] = 1

        for i in range(m):
            for j in range(n):
                if obstacleGrid[i][j] == 0:
                    if i == 0 and j > 0:
                        dp[i][j] = dp[i][j-1]
                    elif i > 0 and j == 0:
                        dp[i][j] = dp[i-1][j]
                    elif i > 0 and j > 0:
                        dp[i][j] = dp[i-1][j] + dp[i][j-1]
        return dp[m-1][n-1]

今日毕!

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

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

相关文章

Python实现番茄小说内容下载

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用: Python 3.8 Pycharm 模块使用: requests --> pip install requests re parsel 代码展示: 导入模块 # 导入数据请求模块 import…

[自定义 Vue 组件] 小尾巴 Logo 组件 TailLogo

文字归档于:https://www.yuque.com/u27599042/coding_star/apt6y731ybmxgu5g 组件效果 组件依赖 自定义字符串工具函数 stringIsNull https://www.yuque.com/u27599042/coding_star/slncupw7un3ce7cb import {stringIsNull} from "/utils/string_utils.js&q…

python进制和编码

一、进制 计算机中底层所有的数据都是以 010101的形式存在(图片、文本、视频等)。 二、进制转换 v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23) # 十进制转换为八进制 print(v2) # "0o27"v3 hex(28) # 十进…

ThinkPHP 8.x MVC 数据库用户增加功能demo实现

ThinkPHP MVC 数据库用户增加功能实现 在thinkphp 多应用的项目中, 采用MVC的架构实现 增加用户的功能。 在多应用下的controller下创建UserInfo.php ,创建一个和用户信息相关操作的控制器。 定义一个插入信息的方法,这里叫insertUserInfo 我们要执行一个用户插入…

Apache Doris (四十五): Doris数据更新与删除 - Sequence 列

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. 基本原理

EtherNet/IP转Modbus TCP协议网关的接口

远创智控的YC-EIPM-TCP网关产品,它有什么作用呢?一起来了解一下吧! 远创智控YC-EIPM-TCP网关产品可以通过各种数据接口和工业领域的仪表、PLC、计量设备等产品连接,实时采集这些设备中的运行数据、状态数据等信息,并把…

数字秒表verilog电子秒表跑表,代码/视频

名称:数字秒表verilog电子秒表跑表 软件:Quartus 语言:Verilog 代码功能: 设计电子秒表,秒表时间精确到0.01秒,可通过按键控制秒表启动、暂停、复位。 代码需要在Mini_Star开发板验证。 开发板资料&…

【springboot异常处理】

这里写自定义目录标题 1,Java Servlet规范异常处理触发异常 2,tomcat 异常处理实现tomcat请求处理流程异常发生时核心处理类 3,springmvc 异常定制以及扩展请求处理流程使用ControllerAdvice & ExceptionHandler 配置全局异常处理器未配置…

全面的Docker快速入门教程

前言: 都2023年了,你还在为了安装一个开发或者部署环境、软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布正式环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工…

【C++11】右值引用、移动构造、移动赋值、完美转发 的原理介绍

文章目录 一、概念1.1 左值1.2 左值引用1.3 什么是右值?1.4 什么是右值引用?对于参数左值还是右值的不同,是被重载支持的左值引用的使用场景 和 缺陷 二、移动语义2.1 移动拷贝构造2.2 移动赋值 三、右值引用 与 STL3.1 移动拷贝构造 和 赋值…

Web攻防03_MySQL注入_数据请求

文章目录 PHP-MYSQL-数据请求类型1、数字型(无符号干扰)2、字符型(有符号干扰)3、搜索型(有多符号干扰)4、框架型(有各种符号干扰) PHP-MYSQL-数据请求方法数据请求方法GET:POST:Coo…

运筹系列86:MIP问题的建模tips

1. Either-or constraint 添加辅助变量y。 比如 Either 3 x 1 2 x 2 ≤ 18 3x_12x_2 \le 18 3x1​2x2​≤18 or x 1 4 x 2 ≤ 16 x_14x_2 \le 16 x1​4x2​≤16 可以用 3 x 1 2 x 2 ≤ 18 M y 3x_12x_2 \le 18My 3x1​2x2​≤18My x 1 4 x 2 ≤ 16 M ( 1 − y ) x_1…

【vue】el-carousel实现视频自动播放与自动切换到下一个视频功能:

文章目录 一、原因:二、实现代码:三、遇到的问题:【1】问题:el-carousel页面的视频不更新【2】问题:多按几次左按钮,其中跳过没有播放的视频没有销毁,造成再次自动播放时会跳页 一、原因: 由于后端无法实现将多条视频拼…

2023年:哪些Trello的替代品值得关注?

你还记得你的第一块Trello板吗?它可能帮助你记录了大学申请、培训目标,甚至是圣诞礼物这些待办事项。对于我们中的许多人来说,Trello 是我们尝试的第一个工作管理工具。无论是跟踪高中作业,组织家庭任务,还是可视化工作…

瑞芯微RKNN开发·yolov5

官方预训练模型转换 下载yolov5-v6.0分支源码解压到本地,并配置基础运行环境。下载官方预训练模型 yolov5n.ptyolov5s.ptyolov5m.pt… 进入yolov5-6.0目录下,新建文件夹weights,并将步骤2中下载的权重文件放进去。修改models/yolo.py文件 …

【C++】继承 ⑥ ( 继承中的构造函数和析构函数 | 类型兼容性原则 | 父类指针 指向 子类对象 | 使用 子类对象 为 父类对象 进行初始化 )

文章目录 一、public 公有继承 - 示例分析1、类型兼容性原则2、类型兼容性原则应用场景 二、类型兼容性原则 - 示例分析1、父类指针 指向 子类对象2、使用 子类对象 为 父类对象 进行初始化3、完整代码示例 一、public 公有继承 - 示例分析 1、类型兼容性原则 类型兼容性原则 :…

测试开发之性能篇 —— 性能测试设计

很多朋友接触性能测试是从工具开始的,比如流行的JMeter、Loadrunner等。熟悉一个测试工具,有助于对性能测试的过程、方法和机制有个直观的理解。 我们知道,无论是什么类型的测试,其目标不外乎两个,一是为了证明系统满…

直播带货前途渺茫了

我是卢松松,点点上面的头像,欢迎关注我哦! 种种迹象表明电商行业和直播带货将受到冲击。直播带货前途渺茫了,相信很快就有政策出来了,针对电商这块的,支持实体、支持取消直播带货。 (1)目前,…

C++对多继承的理解

学到C时我们知道了继承但是一般都是使用单继承为主,单继承就是一个子类只能继承一个父类而多继承是指一个子类可以同时继承多个父类。 菱形继承 菱形继承是多继承中的一个特殊情况。当一个子类同时继承两个具有共同父类的类时,就会出现菱形继承问题。但…

2 spring 识别自定义实现BeanFactoryPostProcessor 的接口

如果自定义实现了BeanFactoryPostProcessor接口,那么想让spring识别到的话,有两种方式: 1 定义在spring的配置文件中,让spring自动识别 2 调用具体的addBeanFactoryPostProcessor方法 方法1 的代码实现 定义实现BeanFactoryPo…