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

不同路径1、2、3合集(980. 不同路径 III)

不同路径一

矩形格,左上角 到 右下角。

class Solution {int [] directX = new int[]{-1,1,0,0};int [] directY = new int[]{0,0,-1,1};int rows;int cols;public int uniquePathsIII(int[][] grid) {if (grid == null || grid.length == 0 || grid[0].length == 0) {return 0;}// dfs + 回溯int startX = 0;int startY = 0;int stepNeed = 1;rows = grid.length;cols = grid[0].length;for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (grid[i][j] == 1){startX = i;startY = j;continue;}if (grid[i][j] == 0) stepNeed ++;}}return dfs(startX,startY,stepNeed,grid);}private int dfs(int x, int y, int stepNeed, int[][] grid) {// terminalif (grid[x][y] == -1) return 0;if (grid[x][y] == 2) return stepNeed == 0 ? 1 : 0;// process logic and drill downgrid[x][y] = -1;int count = 0;for (int i = 0; i < 4; i++) {int newX = x + directX[i];int newY = y + directY[i];if (newX < 0 || newX >= rows || newY < 0 || newY >= cols) continue;count += dfs(newX,newY,stepNeed - 1,grid);}// reversegrid[x][y] = 0;return count;}}

不同路径二

不同路径三

http://www.lryc.cn/news/114669.html

相关文章:

  • 【云原生】Yaml文件详解
  • ffmpeg下载安装教程
  • uniapp之当你问起“tab方法触发时eventchange也跟着触发了咋办”时
  • TS 踩坑之路(四)之 Vue3
  • 【音视频】edge与chrome在性能上的比较
  • Docker Compose编排部署LNMP服务
  • git使用(常见用法)
  • 用例拆分情况考虑方案
  • 一文搞懂IS-IS报文通用格式
  • 位置参数 关键字参数
  • 【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法
  • 生活小妙招之UE custom Decal
  • DAY02_Spring—第三方资源配置管理Spring容器Spring注解开发Spring整合Mybatis和Junit
  • Icon图标有哪些在线设计的工具推荐
  • 深度学习环境安装依赖时常见错误解决
  • opencv基础47 查找图像轮廓cv2.findContours()详解
  • Splunk Enterprise for mac(可视化数据分析软件)详细安装教程
  • 如何实现环卫项目运营的数字化管理,达到企业降本增效的目的?
  • React Native连接Zebra斑马打印机通过发送CPCL指令打印(Android 和 iOS通用)
  • 使用 Simulink 进行 STM32 编程
  • 走出迷宫的最少步数and第一条出路
  • MediaCodec创建对应解码器
  • 使用eXosip+ffmpeg、ffplay命令行实现sip客户端
  • dotNet 之网络TCP
  • python基础面试题汇总(持续更新),冲击offer
  • Java课题笔记~ AOP编程术语(掌握)
  • 暑假刷题第23天--8/6
  • ArcGIS API for JavaScript 4.x 教程(一) 显示一张地图
  • Python-OpenCV中的图像处理
  • 分清性能测试,负载测试,压力测试这三个的区别