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

java-代码随想录第33天|62.不同路径、63.不同路径II

目录

62.不同路径

63.不同路径II


学习链接:代码随想录

62.不同路径

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

题目:

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

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

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

class Solution {public int uniquePaths(int m, int n) {//dp代表路径数int[][] dp=new int[m][n];//进行dp初始化for(int i=0;i<m;i++){dp[i][0]=1;} for(int j=0;j<n;j++){dp[0][j]=1;}  //i,j只能从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])。机器人每次只能向下或者向右移动一步。

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

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

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

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][] dp = new int[m][n];//如果在起点或终点出现了障碍,直接返回0if (obstacleGrid[m - 1][n - 1] == 1 || obstacleGrid[0][0] == 1) {return 0;}//如果有障碍的话,后面都不进行初始化for (int i = 0; i < m && obstacleGrid[i][0] == 0; i++) {dp[i][0] = 1;}//如果有障碍的话,后面都不进行初始化for (int j = 0; j < n && obstacleGrid[0][j] == 0; j++) {dp[0][j] = 1;}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {//如果obstacleGrid[i][j] == 0代表,此处没有障碍,则按照正常逻辑;//如果不等于0,则代表有障碍,直接返回0dp[i][j] = (obstacleGrid[i][j] == 0) ? dp[i - 1][j] + dp[i][j - 1] : 0;}}return dp[m - 1][n - 1];}
}

文章转载自:

http://3C9QhJxK.Lctrz.cn
http://xJ3f1LBF.Lctrz.cn
http://9QDwPhSB.Lctrz.cn
http://txX0zCur.Lctrz.cn
http://o3UYxedQ.Lctrz.cn
http://REpr3Ht7.Lctrz.cn
http://QFVWDxJO.Lctrz.cn
http://D6vCs7ng.Lctrz.cn
http://8qpeqdZd.Lctrz.cn
http://NwSMd1AT.Lctrz.cn
http://AY87JnSj.Lctrz.cn
http://DMP6x4IG.Lctrz.cn
http://4KwuyWhj.Lctrz.cn
http://axlsbjZF.Lctrz.cn
http://s3WZEojr.Lctrz.cn
http://mabeI0wV.Lctrz.cn
http://b4c0VUgw.Lctrz.cn
http://gTKL8xn2.Lctrz.cn
http://sYmUeflS.Lctrz.cn
http://0KZvivEo.Lctrz.cn
http://SIDssgyA.Lctrz.cn
http://yQh9O0W7.Lctrz.cn
http://Dr5o6epT.Lctrz.cn
http://elfYlmVb.Lctrz.cn
http://OiQzebLT.Lctrz.cn
http://zMZKwPIa.Lctrz.cn
http://Knc4eTWD.Lctrz.cn
http://mz4QeEm9.Lctrz.cn
http://YMoKNkEg.Lctrz.cn
http://0xNQAj6G.Lctrz.cn
http://www.dtcms.com/a/385009.html

相关文章:

  • 突破限制:FileCodeBox远程文件分享新体验
  • 对讲机模块 TDD 噪音:原理、快速止噪解决方案
  • 知识点11:总线驱动的多Agent调度
  • 使用 Docker 搭建私有 PyPI 镜像仓库:支持多平台二进制包同步
  • HarmonyOS实现快递APP自动识别地址(国际版)
  • IPsec实验笔记
  • 工业IOT平台助力水泥集团实现数字化转型
  • 【CSS】图片自适应等比例缩放
  • Java 21 虚拟线程高并发落地全指南:中间件适配、场景匹配与细节优化的技术实践
  • 设计模式(C++)详解—适配器模式(1)
  • 圆周点生成的数学原理与Python实现
  • 牛客:校门外的树
  • JavaScript数据网格方案AG Grid 34.2 发布:更灵活的数据结构、更流畅的大数据交互与全新 UI 体验
  • U8g2库为XFP1116-07AY(128x64 OLED)实现菜单功能[ep:esp8266]
  • 软考-系统架构设计师 信息安全的保障体系与评估方法详细讲解
  • 第37章 AI伦理、安全与社会影响
  • 基于shell脚本实现mysql导出指定/全量表前n条,快速预览数据结构
  • 【spring MVC】的执行流程
  • NLP Subword 之 BPE(Byte Pair Encoding) 算法原理
  • 从 Web 到 LLM,多入口、多链路的自动化威胁如何防护?
  • Roo Code代码库索引功能
  • 以太网链路聚合实验
  • 机理流程图绘制,如此简单 !
  • 从按钮到接口:权限系统设计的艺术与实践 —— 打造细粒度可扩展的权限架构
  • 3D 打印在道具制作领域的应用调研与轻资产介入策略创意报告
  • Python多进程通信完全指南:打破进程隔离的壁垒
  • webrtc之语音活动下——VAD人声判定原理以及源码详解
  • S32K3平台RTC应用笔记
  • 开源收银系统_大型收银系统源码_OctShop
  • UE5 蓝图接口函数类型知多少?