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

建设网站专业公司吗百度搜索指数

建设网站专业公司吗,百度搜索指数,jsp网站建设 书籍,咸宁 网站建设题目#xff1a; 一个机器人位于一个 m x n 网格的左上角 #xff08;起始点在下图中标记为 “Start” #xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角#xff08;在下图中标记为 “Finish”#xff09;。 现在考虑网格中有障碍物。那…题目 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 “Start” 。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角在下图中标记为 “Finish”。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径 网格中的障碍物和空位置分别用 1 和 0 来表示。 示例 1 输入obstacleGrid [[0,0,0],[0,1,0],[0,0,0]] 输出2 解释3x3 网格的正中间有一个障碍物。 从左上角到右下角一共有 2 条不同的路径 向右 - 向右 - 向下 - 向下向下 - 向下 - 向右 - 向右 示例 2 输入obstacleGrid [[0,1],[0,0]] 输出1 提示 m obstacleGrid.length n obstacleGrid[i].length 1 m, n 100 obstacleGrid[i][j] 为 0 或 1 思路 这道题相对于力扣62. 不同路径动态规划附python二维数组的定义就是有了障碍。 不同路径中我们已经详细分析了没有障碍的情况有障碍的话其实就是标记对应的dp数组保持初始值0就可以了。 动规五部曲 确定dp数组以及下标的含义跟上题一样 这里要明确dp数组的含义定义dp数组是为了找到不同路径 dp[i][j] 表示从0 0出发到(i, j) 有dp[i][j]条不同的路径。 确定递推公式 递归公式跟上题一样dp[i][j] dp[i - 1][j] dp[i][j - 1]。 但这里需要注意一点因为有了障碍(i, j)如果就是障碍的话应该就保持初始状态初始状态为0。 代码如下 if obstacleGrid[i][j] 0:dp[i][j] dp[i - 1][j] dp[i][j - 1]dp数组如何初始化 这里的初始化是重点 如果(i, 0) 这条边有了障碍之后障碍之后包括障碍都是走不到的位置了所以障碍之后的dp[i][0]应该还是初始值0。下标(0, j)的初始化情况同理。 所以本题初始化代码为 for i in range(n):if obstacleGrid[0][i] 0:dp[0][i] 1else:breakfor j in range(m):if obstacleGrid[j][0] 0:dp[j][0] 1else:break注意一旦遇到obstacleGrid[i][0] 1的情况一定要退出循环不然之后障碍之后的点依旧会被赋值。 确定遍历顺序跟上题一样 从递归公式dp[i][j] dp[i - 1][j] dp[i][j - 1] 中可以看出一定是从左到右一层一层遍历这样保证推导dp[i][j]的时候dp[i - 1][j] 和 dp[i][j - 1]一定是有数值。 举例推导dp数组 拿示例1来举例如题 对应的dp数组如图 完整代码 class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) - int:# 获取网格的列数和行数n len(obstacleGrid[0])m len(obstacleGrid)# 如果起点或终点有障碍物直接返回0if obstacleGrid[0][0] 1 or obstacleGrid[m - 1][n - 1] 1:return 0# 初始化一个二维数组dp用于存储到达每个位置的路径数量dp [[0] * n for _ in range(m)]# 初始化第一行如果没有障碍物则到达每个位置的路径数量为1否则后面的位置均不可达for i in range(n):if obstacleGrid[0][i] 0:dp[0][i] 1else:break# 初始化第一列如果没有障碍物则到达每个位置的路径数量为1否则后面的位置均不可达for j in range(m):if obstacleGrid[j][0] 0:dp[j][0] 1else:break# 计算其余位置的路径数量for i in range(1, m):for j in range(1, n):# 如果当前位置没有障碍物则到达当前位置的路径数量为到达上方和左方位置的路径数量之和if obstacleGrid[i][j] 0:dp[i][j] dp[i - 1][j] dp[i][j - 1]# 返回到达终点的路径数量return dp[m - 1][n - 1] 复杂度分析 时间复杂度O(n × m)n、m 分别为obstacleGrid 长度和宽度空间复杂度O(n × m)
http://www.zqtcl.cn/news/78323/

相关文章:

  • 西昌建设招聘信息网站变更网站备案信息
  • 河口企业网站开发公司怎么分析网站建设的优缺点
  • 三晋联盟做网站需要多钱成都专业网站建设公司排名
  • wordpress图片托管seo挖关键词
  • 网站建设前准备基础网络建设
  • 国内flash网站网站备案信息找回
  • 电商网站可以用dw做桂林漓江游船攻略
  • 太原网站建设案例WordPress营销推广返佣插件
  • 小型网站用typescript电影网站免费建设
  • 企业网站备案怎么搞给公司做网站这个工作怎么样
  • 网站推广的具体方法wordpress需要多少运存
  • 珠海市品牌网站建设平台职业培训网
  • 黑龙江网站建设企业企业为什么做网站系统
  • 临沂建站平台烟台巅峰网络科技有限公司
  • 泰安网站制作哪里有手机网站打不开被拦截怎么办
  • 网络推广网站推广方法wordpress4 中文
  • 服装网站建设规划书怎么写wordpress模板带后台
  • 企业网站优化培训WordPress mvc插件
  • 山东平台网站建设方案前端小说
  • 自己建网站收费吗网页设计培训班学费多少钱
  • 怎么自己做网站推广wordpress管理密码修改
  • 郑州做营销型网站建设合肥网络推广服务
  • 网站开发规格地方做什么网站
  • 竹木工艺品网站建设公司注册步骤流程
  • html5的网站花生壳怎么发布自己做的网站
  • 浙江建设厅 继续教育 网站wordpress屏蔽右键菜单并提示
  • 湖北响应式网站设计制作实名网站空间
  • 浙江省建设教育考试中心网站网站怎样注册
  • 租房网站开发视频教程随便建设网站犯法吗
  • mip手机网站模板怎么样做游戏网站