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

最简单的html代码/seo培训资料

最简单的html代码,seo培训资料,公司网站的制作公司,大学php动态网站开发试卷文章目录62. 不同路径分析代码(动态规划)通过截图63. 不同路径 II分析代码(动态规划)通过截图62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向…

文章目录

  • 62. 不同路径
    • 分析
    • 代码(动态规划)
      • 通过截图
  • 63. 不同路径 II
    • 分析
    • 代码(动态规划)
      • 通过截图

62. 不同路径

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

示例 1:
在这里插入图片描述

输入:m = 3, n = 7
输出:28
示例 2:输入:m = 3, n = 2
输出:3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
示例 3:输入:m = 7, n = 3
输出:28
示例 4:输入:m = 3, n = 3
输出:6提示:1 <= m, n <= 100
题目数据保证答案小于等于 2 * 109

分析

  • 看到这题,相信大部分人第一反应就是深搜(dfs),但深搜时间复杂度会比较高,我这里就用动态规划解决这个问题
  • 因为只能向下和向右,所以我们这里起始状态就是第0行和第0列都是1,就是只有一种走法可以这样。(状态初始化)接下来,从第1行第1列开始遍历,dp[i][j] = dp[i-1][j] + dp[i][j-1](递推公式,即当前格子的可能路径数等于上面格子和左边格子的可能路径和,因为左边格子走一步和上边格子走一步可以到当前格子)
  • 如果只有一行或者一列,就证明只有一条路,这里单独列出,当然也可以不列,对结果没有影响。

代码(动态规划)

class Solution:def uniquePaths(self, m: int, n: int) -> int:if m == 1 or n == 1:return 1dp = [[1] * n] * m # 创建m行n列的数组for i in range(1,m):for j in range(1,n):dp[i][j] = dp[i-1][j] + dp[i][j-1]return dp[m-1][n-1]

通过截图

在这里插入图片描述

63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。

示例 1:
在这里插入图片描述

输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:2
解释:3x3 网格的正中间有一个障碍物。
从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右

示例 2:
在这里插入图片描述

输入:obstacleGrid = [[0,1],[0,0]]
输出:1提示:m == obstacleGrid.length
n == obstacleGrid[i].length
1 <= m, n <= 100
obstacleGrid[i][j] 为 0 或 1

分析

  • 和上面那题很像,但难度增加,因为有了障碍。但没有影响。
  • 对于障碍的处理,我们只需要分,我们这个格子是障碍,和我们这个格子不是障碍。
  • 是障碍,那么我不做处理,因为没有什么值得处理,本身这格也不能走。
  • 不是障碍,那么我和前面一样用上面格子和左边格子的可能路径数,有人可能会说:如果上面或者左边格子存在障碍呢?没关系,障碍为0不就没有影响了吗?
  • 这里有个坑:就是不要直接用[[0]*n]*m去创建m行n列的数组。通过对地址的查询,发现这样创建出来的每行地址相同。一行进行修改,其他行会一起修改。用这种方法创建即可[[0]*n for _ in range(m)]
  • 初始化时,如果碰到障碍那就不要管了,前面的格为1即可。

代码(动态规划)

class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:m = len(obstacleGrid) # 行n = len(obstacleGrid[0]) # 列    dp = [[0]*n for _ in range(m)] # 创建m行n列的0for i in range(m): # 第0列初始化为1if not obstacleGrid[i][0]:dp[i][0] = 1else:breakfor j in range(n): # 第0行初始化为1if not obstacleGrid[0][j]:dp[0][j] = 1else:breakfor i in range(1,m):for j in range(1,n):if not obstacleGrid[i][j]: # 这里不是障碍物dp[i][j] = dp[i-1][j] + dp[i][j-1] # 上加左return dp[m-1][n-1]

通过截图

在这里插入图片描述
如有错误,敬请指正,欢迎交流,谢谢♪(・ω・)ノ

http://www.lbrq.cn/news/783991.html

相关文章:

  • 网页设计可以进怎样的公司/天津seo渠道代理
  • 西安做网站哪里便宜/代运营公司排行榜
  • js与asp.net做的网站/自己的网站怎么样推广优化
  • 番禺网站建设报价/最新国际军事动态
  • 网站开发毕设文献/广告代理公司
  • 超云建站/全自动推广引流软件免费
  • 郴州高椅岭/关键词的优化和推广
  • 代理商加盟项目网站/下载百度网盘app
  • 户外网站 整站下载/市场推广计划书
  • 网上做兼职做网站/网络公关公司联系方式
  • 如何做单位网站/深圳百度国际大厦
  • 做网站的收获及感想/网络seo优化推广
  • 现在还做自适应网站/seo蜘蛛屯
  • 医院网站优化/宁波seo行者seo09
  • 做导航网站赚钱吗/app拉新推广怎么做
  • 北京城乡住房建设官方网站/培训心得体会800字
  • 网页游戏网站斗地主/永久免费的建站系统有哪些
  • 一个购物网站开发语言/友情链接的作用
  • 代做毕业设计的网站好/杭州seo的优化
  • 如何寻找一批做网站的公司/怎么优化一个网站
  • 招聘网站如何做/备案查询官网
  • 阿里巴巴做网站的/关键词排名查询
  • 聊城市网站建设公司/重庆seo网站推广优化
  • 最近日本字幕mv高清在线/网站关键字优化软件
  • 网站挂载/seo搜索引擎优化书籍
  • bs网站做映射/品牌推广方式有哪些
  • 网站优化 书/个人怎么做网络推广
  • 东营招标投标信息网/seo公司优化排名
  • 创建一个网站的费用/最近实时热点事件
  • app跟网站的区别是什么/推广是什么意思
  • 进阶向:Python开发简易QQ聊天机器人
  • UE编辑器相机窗口运行时相机fov 大小不一致
  • 研发团队看板协作中的自动化实践:集成CI/CD与任务流转
  • VPS云服务器Linux系统备份策略与灾难恢复方案设计
  • 【实战】Dify从0到100进阶--中药科普助手(1)
  • spring boot开发中的资源处理等问题