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

巩义做网站关键词代发包收录

巩义做网站,关键词代发包收录,厚街镇做网站,wordpress 群组插件目录 62. 不同路径 63. 不同路径 II 62. 不同路径 题目 62. 不同路径 - 力扣(LeetCode) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到…

目录

62. 不同路径

63. 不同路径 II

62. 不同路径

题目

62. 不同路径 - 力扣(LeetCode)

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

示例 1:

img

输入: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

思路

代码随想录:62.不同路径

视频讲解:LeetCode:62.不同路径

动态规划五部曲:

  1. 确定dp数组以及下标含义:使用二维dp数组保存结果,确定dp[i][j]为到达 (i, j) 有多少条不同的路径
  2. 确定递推公式:dp[i] = dp[i - 1][j] + dp[i][j - 1],因为只能沿两种方向移动
  3. 初始化数组:dp[i][0]=1, dp[0][j]=1,因为从起点到(i, 0)和(0, j)的路径都只有一条
  4. 确定遍历顺序:由递推公式得遍历顺序为从左往右,从上往下
  5. 举例推导:

62.不同路径1

题解

独立题解:

class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];dp[0][0]=1;for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {if(j!=0)dp[i][j]+=dp[i][j-1];if(i!=0)dp[i][j]+=dp[i-1][j];}}return dp[m-1][n-1];}
}

参考题解:

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

题目

63. 不同路径 II - 力扣(LeetCode)

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

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

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

测试用例保证答案小于等于 2 * 109

示例 1:

在这里插入图片描述

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

示例 2:

img

输入:obstacleGrid = [[0,1],[0,0]]
输出:1

提示:

  • m == obstacleGrid.length
  • n == obstacleGrid[i].length
  • 1 <= m, n <= 100
  • obstacleGrid[i][j]01

思路

代码随想录:不同路径II

视频讲解:LeetCode:63. 不同路径 II

动态规划五部曲:

  1. 确定dp数组以及下标含义:使用二维dp数组保存结果,确定dp[i][j]为到达 (i, j) 有多少条不同的路径
  2. 确定递推公式:dp[i] = dp[i - 1][j] + dp[i][j - 1],因为只能沿两种方向移动,注意判断题目所给数组的(i, j)位置是否有障碍,有障碍则保持为0的初始状态
  3. 初始化数组:dp[i][0]=1, dp[0][j]=1,因为从起点到(i, 0)和(0, j)的路径都只有一条,注意遇到障碍之后直接结束数组的初始化:63.不同路径II
  4. 确定遍历顺序:由递推公式得遍历顺序为从左往右,从上往下
  5. 举例推导:
63.不同路径II1

63.不同路径II2

题解

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; i++) {if (obstacleGrid[i][0] == 1)break;dp[i][0] = 1;}for (int j = 0; j < n; j++) {if (obstacleGrid[0][j] == 1)break;dp[0][j] = 1;}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {if (obstacleGrid[i][j] == 1)continue;dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}return dp[m - 1][n - 1];}
}
http://www.hkea.cn/news/613896/

相关文章:

  • 腾龙时时彩做号网站整站优化关键词排名
  • 正规的网站制作与推广百度广告运营
  • 网站建设估价引擎搜索有哪些
  • 东莞网站建设选菲凡网络如何制作网站
  • 网站收录系统备案查询官网
  • 临朐县网站建设利用搜索引擎营销成功的案例
  • 利用网盘做视频网站镇江优化推广
  • 视频微网站开发哪个公司网站设计好
  • 品网站建设智能搜索引擎
  • 怎样在百度建网站seo建设者
  • 四海网络网站建设咨询什么叫做网络营销
  • 安徽建设网官方网站优化分析
  • 网站根目录文件名游戏推广员是做什么的
  • 个体工商户怎么做网站西安网站seo技术
  • 报名网站制作2345网址导航官网下载安装
  • 图书购物网站开发总结百度发广告需要多少钱
  • 做网站 业务流程图站长统计性宝app
  • 长沙做网站大概多少钱万网域名注册教程
  • 成都网站建设网站产品推广计划书怎么写
  • 深圳个人网站建设大连网络推广公司哪家好
  • 建设工程教育appseo技术培训中心
  • 家教中介怎么利用网站来做的免费广告推广
  • wordpress仿制建设seo是什么平台
  • 商城网站建设分为几块seo臻系统
  • 网络营销对于个人而言有什么作用seo文章
  • 做书籍封皮的网站今日中国新闻
  • 东莞建设网站电工培训技术学校
  • 深圳聘请做网站人员成都排名seo公司
  • 网站备案之后东莞网站关键词优化公司
  • 多种专业网站建设潍坊网站排名提升