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

营销网站建设大全查企业信息查询平台官网免费

营销网站建设大全,查企业信息查询平台官网免费,wordpress时间轴插件,简述网站设计的原则文章目录1. 题目2. 解题2.1 BFS2.2 爆栈的DFS2.3 不爆栈的DFS1. 题目 给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是#xff1a; 1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下… 文章目录1. 题目2. 解题2.1 BFS2.2 爆栈的DFS2.3 不爆栈的DFS1. 题目 给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是 1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下单元格的街道。4 表示连接右单元格和下单元格的街道。5 表示连接左单元格和上单元格的街道。6 表示连接右单元格和上单元格的街道。 你最开始从左上角的单元格 (0,0) 开始出发网格中的「有效路径」是指从左上方的单元格 (0,0) 开始、一直到右下方的 (m-1,n-1) 结束的路径。该路径必须只沿着街道走。 注意你 不能 变更街道。 如果网格中存在有效的路径则返回 true否则返回 false 。 示例 1 输入grid [[2,4,3],[6,5,2]] 输出true 解释如图所示你可以从 (0, 0) 开始访问网格中的所有单元格并到达 (m - 1, n - 1) 。示例 2 输入grid [[1,2,1],[1,2,1]] 输出false 解释如图所示单元格 (0, 0) 上的街道没有与任何其他单元格上的街道相连你只会停在 (0, 0) 处。示例 3 输入grid [[1,1,2]] 输出false 解释你会停在 (0, 1)而且无法到达 (0, 2) 。示例 4 输入grid [[1,1,1,1,1,1,3]] 输出true示例 5 输入grid [[2],[2],[2],[2],[2],[2],[6]] 输出true提示 m grid.length n grid[i].length 1 m, n 300 1 grid[i][j] 6来源力扣LeetCode 链接https://leetcode-cn.com/problems/check-if-there-is-a-valid-path-in-a-grid 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 2.1 BFS 广度优先搜索 class Solution {vectorvectorint d {{0,1},{1,0},{-1,0},{0,-1}};//右0下1上2左3vectorvectorvectorint dir {{},{d[0],d[3]},{d[1],d[2]},{d[1],d[3]},{d[0],d[1]},{d[2],d[3]},{d[0],d[2]}};//网格可走的方向int m,n; public:bool hasValidPath(vectorvectorint grid) {m grid.size(), n grid[0].size();vectorvectorbool visited(m, vectorbool(n,false));visited[0][0] true;queuevectorint q;q.push({0,0});int x,y,x0,y0,k,dx,dy;while(!q.empty()){x0 q.front()[0];y0 q.front()[1];if(x0m-1 y0n-1)return true;q.pop();for(k 0; k dir[grid[x0][y0]].size(); k){ //网格可走方向dx dir[grid[x0][y0]][k][0];dy dir[grid[x0][y0]][k][1];x x0dx;y y0dy;if(x0 xm y0 yn !visited[x][y] isok(grid,dx,dy,x,y)){visited[x][y] true;q.push({x,y});}}}return false;}bool isok(vectorvectorint grid, int dx, int dy, int x, int y){ //dx dy 走过来的方向在位置 x y 中有对应的接口则可以走过来if(dx 1 dy 0)//往下走对应x,y处 上 要开着{if(grid[x][y]2 || grid[x][y]5 || grid[x][y]6)return true;}else if(dx 0 dy 1)//右 --左{if(grid[x][y]1 || grid[x][y]3 || grid[x][y]5)return true;}else if(dx -1 dy 0)//上 ---下{if(grid[x][y]2 || grid[x][y]3 || grid[x][y]4)return true;}else if(dx 0 dy -1)//左--- 右{if(grid[x][y]1 || grid[x][y]4 || grid[x][y]6)return true;}return false;} };2.2 爆栈的DFS dfs 方法爆栈代码如下请大佬帮忙看看什么原因 class Solution {vectorvectorint d {{0,1},{1,0},{-1,0},{0,-1}};//右0下1上2左3vectorvectorvectorint dir {{},{d[0],d[3]},{d[1],d[2]},{d[1],d[3]},{d[0],d[1]},{d[2],d[3]},{d[0],d[2]}};bool found false;int m,n; public:bool hasValidPath(vectorvectorint grid) {m grid.size(), n grid[0].size();vectorvectorbool visited(m, vectorbool(n,false));visited[0][0] true;dfs(grid,0,0,visited);return found;}void dfs(vectorvectorint grid, int i, int j,vectorvectorbool visited){if(found)return;if(im-1 jn-1){found true;return;}int x, y, k, dx, dy;for(k 0; k dir[grid[i][j]].size(); k){dx dir[grid[i][j]][k][0];dy dir[grid[i][j]][k][1];x idx;y jdy;if(x0 xm y0 yn !visited[x][y] isok(grid,dx,dy,x,y)){visited[x][y] true;dfs(grid,x,y,visited);visited[x][y] false;}}}bool isok(vectorvectorint grid, int dx, int dy, int x, int y){if(dx 1 dy 0)//往下走对应x,y处 上 要开着{if(grid[x][y]2 || grid[x][y]5 || grid[x][y]6)return true;}else if(dx 0 dy 1)//右 --左{if(grid[x][y]1 || grid[x][y]3 || grid[x][y]5)return true;}else if(dx -1 dy 0)//上 ---下{if(grid[x][y]2 || grid[x][y]3 || grid[x][y]4)return true;}else if(dx 0 dy -1)//左--- 右{if(grid[x][y]1 || grid[x][y]4 || grid[x][y]6)return true;}return false;} };2.3 不爆栈的DFS isok 函数 的 int 变量去掉 就不报错了什么情况。。。 class Solution {vectorvectorint d {{0,1},{1,0},{-1,0},{0,-1}};//右0下1上2左3vectorvectorvectorint dir {{},{d[0],d[3]},{d[1],d[2]},{d[1],d[3]},{d[0],d[1]},{d[2],d[3]},{d[0],d[2]}};bool found false;int m,n; public:bool hasValidPath(vectorvectorint grid) {m grid.size(), n grid[0].size();vectorvectorbool visited(m, vectorbool(n,false));visited[0][0] true;dfs(grid,0,0,visited);return found;}void dfs(vectorvectorint grid, int i, int j,vectorvectorbool visited){if(found)return;if(im-1 jn-1){found true;return;}int x, y, k, dx, dy;for(k 0; k dir[grid[i][j]].size(); k){dx dir[grid[i][j]][k][0];dy dir[grid[i][j]][k][1];x idx;y jdy;if(x0 xm y0 yn !visited[x][y] isok(grid,dx,dy,x,y)){visited[x][y] true;dfs(grid,x,y,visited);visited[x][y] false;}}}bool isok(vectorvectorint grid, int dx, int dy, int x, int y){if(dx 1 dy 0)//往下走对应x,y处 上 要开着{if(grid[x][y]2 || grid[x][y]5 || grid[x][y]6)return true;}else if(dx 0 dy 1)//右 --左{if(grid[x][y]1 || grid[x][y]3 || grid[x][y]5)return true;}else if(dx -1 dy 0)//上 ---下{if(grid[x][y]2 || grid[x][y]3 || grid[x][y]4)return true;}else if(dx 0 dy -1)//左--- 右{if(grid[x][y]1 || grid[x][y]4 || grid[x][y]6)return true;}return false;} };
http://www.zqtcl.cn/news/563747/

相关文章:

  • 专题网站建站对网站分析
  • 外贸出口网站建设如何搭建自己的网站服务器
  • 云南省建设厅网站职称评审房地产推广方案和推广思路
  • 湘潭建设路街道网站app的设计与开发
  • 《网站开发实践》 实训报告广告策划书案例完整版
  • 一级 爰做片免费网站做中学学中做网站
  • 网站排名如何提升网络营销的有哪些特点
  • 巨腾外贸网站建设个人主页网站模板免费
  • 有哪些网站免费做推广淄博网站电子商城平台建设
  • 网站建设的技术支持论文做网站买什么品牌笔记本好
  • 凡科网站后台在哪里.工程与建设
  • 静态网站源文件下载建设手机网站价格
  • 苏州做网站优化的网站开发邮件
  • 做网站怎么搭建环境阿里云大学 网站建设
  • 网站改版业务嵌入式培训推荐
  • 腾讯云 怎样建设网站网站开发 报价
  • 网络科技公司门户网站免费人脉推广官方软件
  • 建和做网站网络营销推广可以理解为
  • 太原市网站建设网站人防工程做资料的网站
  • 怎么做免费推广网站做网站第一部
  • 橙色网站后台模板WordPress的SEO插件安装失败
  • 做网站好还是做微信小程序好外包加工网外放加工活
  • 中国建设银行网站查征信电子商务网站建设及推广
  • 扫描网站漏洞的软件php网站后台验证码不显示
  • 诸城哪里有做网站的做网站的尺寸
  • 网站开发参考书目做网站推广赚钱吗
  • 九度网站建设网站做ppt模板
  • 浙江做公司网站多少钱评论回复网站怎么做
  • 江门网络建站模板虚拟主机价格一般多少钱
  • 网站建设公司云南深圳手机商城网站设计费用