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

高端的网站建设十堰秦楚网主页

高端的网站建设,十堰秦楚网主页,wordpress调用指定分类文章列表,网站建设公司怎么样算法学习——LeetCode力扣图论篇1 797. 所有可能的路径 797. 所有可能的路径 - 力扣#xff08;LeetCode#xff09; 描述 给你一个有 n 个节点的 有向无环图#xff08;DAG#xff09;#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出#xff08;不要求按特…算法学习——LeetCode力扣图论篇1 797. 所有可能的路径 797. 所有可能的路径 - 力扣LeetCode 描述 给你一个有 n 个节点的 有向无环图DAG请你找出所有从节点 0 到节点 n-1 的路径并输出不要求按特定顺序 graph[i] 是一个从节点 i 可以访问的所有节点的列表即从节点 i 到节点 graph[i][j]存在一条有向边。 示例 示例 1 输入graph [[1,2],[3],[3],[]] 输出[[0,1,3],[0,2,3]] 解释有两条路径 0 - 1 - 3 和 0 - 2 - 3 示例 2 输入graph [[4,3,1],[3,2,4],[3],[4],[]] 输出[[0,4],[0,3,4],[0,1,3,4],[0,1,2,3,4],[0,1,4]] 提示 n graph.length 2 n 15 0 graph[i][j] n graph[i][j] ! i即不存在自环 graph[i] 中的所有元素 互不相同 保证输入为 有向无环图DAG 代码解析 class Solution { public:vectorvectorint result;vectorint path;void dfs(vectorvectorint graph , int indnx){if(indnx graph.size()-1) {path.push_back(graph.size()-1);result.push_back(path);path.pop_back();return;}for(int i0 ; igraph[indnx].size() ;i){path.push_back(indnx);dfs(graph,graph[indnx][i]);path.pop_back();}return;}vectorvectorint allPathsSourceTarget(vectorvectorint graph) {dfs(graph,0);return result;} };200. 岛屿数量 200. 岛屿数量 - 力扣LeetCode 描述 给你一个由 ‘1’陆地和 ‘0’水组成的的二维网格请你计算网格中岛屿的数量。 岛屿总是被水包围并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外你可以假设该网格的四条边均被水包围。 示例 示例 1 输入grid [ [“1”,“1”,“1”,“1”,“0”], [“1”,“1”,“0”,“1”,“0”], [“1”,“1”,“0”,“0”,“0”], [“0”,“0”,“0”,“0”,“0”] ] 输出1 示例 2 输入grid [ [“1”,“1”,“0”,“0”,“0”], [“1”,“1”,“0”,“0”,“0”], [“0”,“0”,“1”,“0”,“0”], [“0”,“0”,“0”,“1”,“1”] ] 输出3 提示 m grid.length n grid[i].length 1 m, n 300 grid[i][j] 的值为 ‘0’ 或 ‘1’ 代码解析 深度优先搜索dfs class Solution { public:int result 0;int m 0 ,n0;int dir[4][2] {0,1, 0,-1 , -1,0 , 1,0};void dfs(vectorvectorchar grid , vectorvectorbool path , int x , int y){for(int i0 ; i4 ;i){int next_x x dir[i][0];int next_y y dir[i][1];if(next_x0||next_xm||next_y0||next_yn) continue;else if( path[next_x][next_y] false grid[next_x][next_y] 1) { path[next_x][next_y] true;dfs(grid,path,next_x,next_y);}}return;}int numIslands(vectorvectorchar grid) {m grid.size();n grid[0].size();vectorvectorbool path( m , vectorbool( n ,false) );for(int i0 ; im ;i){for(int j0 ; jn ;j){if(path[i][j] false grid[i][j] 1){result;path[i][j] true;dfs(grid,path,i,j);}}}return result;} };广度优先搜索bfs class Solution { public:int result 0;int m 0 ,n0;int dir[4][2] {0,1, 0,-1 , -1,0 , 1,0};void bfs(vectorvectorchar grid , vectorvectorbool path , int x , int y){queuepairint,int my_que;my_que.push({x,y});path[x][y] true;while(my_que.size() ! 0){pairint,int cur my_que.front();my_que.pop();for(int i0 ; i4 ;i){int next_x cur.first dir[i][0];int next_y cur.second dir[i][1];if(next_x0||next_xm||next_y0||next_yn) continue;else if( path[next_x][next_y] false grid[next_x][next_y] 1) { my_que.push({next_x,next_y});path[next_x][next_y] true;}}}return;}int numIslands(vectorvectorchar grid) {m grid.size();n grid[0].size();vectorvectorbool path( m , vectorbool( n ,false) );for(int i0 ; im ;i){for(int j0 ; jn ;j){if(path[i][j] false grid[i][j] 1){result;path[i][j] true;bfs(grid,path,i,j);}}}return result;} };695. 岛屿的最大面积 695. 岛屿的最大面积 - 力扣LeetCode 描述 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0代表水包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿则返回面积为 0 。 示例 示例 1 输入grid [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]] 输出6 解释答案不应该是 11 因为岛屿只能包含水平或垂直这四个方向上的 1 。 示例 2 输入grid [[0,0,0,0,0,0,0,0]] 输出0 提示 m grid.length n grid[i].length 1 m, n 50 grid[i][j] 为 0 或 1 代码解析 class Solution { public:int dir[4][2] {0,1,0,-1,-1,0,1,0};int m0,n0;int result 0;int tmp_result 0;void dfs(vectorvectorint grid , vectorvectorbool path , int x ,int y){for(int i0 ; i4 ;i){int next_x x dir[i][0];int next_y y dir[i][1];if(next_x0 || next_xm || next_y0 || next_yn) continue;if(grid[next_x][next_y] 1 path[next_x][next_y] false){tmp_result;path[next_x][next_y] true;dfs(grid,path,next_x,next_y);}}}int maxAreaOfIsland(vectorvectorint grid) {m grid.size();n grid[0].size();vectorvectorbool path(m , vectorbool( n , false ));for(int i0 ; im ;i){for(int j0 ; jn ;j){if(grid[i][j] 1 path[i][j] false){path[i][j] true;tmp_result 1;dfs(grid,path,i,j);if(tmp_result result) result tmp_result;}}}return result;} };
http://www.w-s-a.com/news/485250/

相关文章:

  • 做网站 然后百度推广哈尔滨建筑网
  • 章丘营销型网站建设网站测评必须做
  • 营销者网站怎么把网站黑了
  • 律师事务所手机网站校园网站设计
  • 网站案例展示分类网站响应速度优化
  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好
  • 西安推荐企业网站制作平台软装设计方案ppt
  • 网站静态页模板专业网站设计开发公司
  • 手机免费在线搭建网站短网址生成防红
  • 天津网站设计网站制作如何新建wordpress
  • 山东省建设备案网站审批国际新闻最新消息10条简短
  • 成都市建设网扬尘监控网站短域名转换
  • 怎么做手机网站潍坊建设银行网站
  • 做网站分什么软件品牌设计培训
  • 太原网站设计排名设计本装修效果图
  • 网站个人中心模板石家庄网站系统开发
  • 优秀的电子商务网站教育公司网站建设文案
  • 网站开发市场成本网站链接推广工具
  • 猪八戒做网站排名常州seo博客
  • wordpress 网站遭篡改如何优化公司的网站
  • 汉中公司做网站网站建设的风格设置
  • 网站建议怎么写怎么做网页连接
  • 站长工具seo综合查询下载安装软件平台搭建包括哪几个方面
  • 做网站怎么存放视频支付功能网站建设
  • 庆阳手机网站设计兰州网站的优化
  • 企业网站托管有必要吗项目管理资格证书
  • 检索类的网站建设个人博客网页模板图片
  • 贵阳网站建设搜q479185700做网站有什么语言好
  • 制作公司主页网站贵阳网站建设技术托管