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

建筑工程网上办事系统seo自然排名

建筑工程网上办事系统,seo自然排名,设计素材网站版权,国内b2b网站有哪些想要精通算法和SQL的成长之路 - 受限条件下可到达节点的数目 前言一. 相交链表(邻接图和DFS) 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 相交链表(邻接图和DFS) 原题链接 public int reachableNodes(int n, int[][] ed…

想要精通算法和SQL的成长之路 - 受限条件下可到达节点的数目

  • 前言
  • 一. 相交链表(邻接图和DFS)

前言

想要精通算法和SQL的成长之路 - 系列导航

一. 相交链表(邻接图和DFS)

原题链接
在这里插入图片描述

public int reachableNodes(int n, int[][] edges, int[] restricted) {
}

我们读一下题目,我们总结几个核心的点:

  1. 无向图。
  2. 受限节点。
  3. 题目用一个二维数组代表图。

针对第一个点和第三个点:我们用何种方式通过二维数组来构建出一个无向图?

使用邻接图。在Java当中,邻接图可以用下面一个模板来完成:

List<Integer>[] adj = new List[n];
// 初始化每个数组
for (int i = 0; i < n; i++) {adj[i] = new ArrayList<>();
}
for (int[] edge : edges) {adj[前继节点].add(后继节点);
}

那么由于本题目又特意声明了它是一个无向图,我们前后顺序换一下再存储一次即可:

adj[前继节点].add(后继节点);
adj[后继节点].add(前继节点);

针对第二点:受限节点。我们用一个一维数组,代表每个元素是否受限,下标即是对应的元素值:

boolean[] limits = new boolean[n];
for (int i : restricted) {limits[i] = true;
}

有了这些数据,我们就可以通过DFS去递归遍历这颗树:

  1. 我们指定对应的元素 0 作为根节点,向后继节点递归。
  2. 同时因为无向的关系,我们在递归节点的时候,需要做判断,当前节点并不是父节点,满足条件才可往深层递归。否则就会出现死循环。

例如:以上图的案例,最终的无向图数据部分如下:

  • 0–>1,4,5。
  • 1->0,1,3

死循环逻辑如下:

  • 第一层:倘若当前节点为1的时候,根据顺序深层递归。递归节点0。
  • 第二层:当前遍历节点为0,发现0的相邻节点有1,开始递归节点1。回到第一步。
  • 第三层…

因此我们在dfs递归的时候需要有两个参数:

  1. 当前节点。
  2. 当前节点的父节点。

同时我们用一个全局变量count代表递归的数量(即是题目返回要求)

void dfs(int root, int pre) {count++;for (int node : adj[root]) {if (!limits[node] && node != pre) {dfs(node, root);}}
}

最终完整代码如下:

public class Test2368 {int count = 0;List<Integer>[] adj;boolean[] limits;public int reachableNodes(int n, int[][] edges, int[] restricted) {// 邻接图数据构建adj = new List[n];for (int i = 0; i < n; i++) {adj[i] = new ArrayList<>();}for (int[] edge : edges) {adj[edge[0]].add(edge[1]);adj[edge[1]].add(edge[0]);}// 构建受限节点数组limits = new boolean[n];for (int i : restricted) {limits[i] = true;}// 开始递归,从根节点0开始,父节点不存在,我们传一个-1dfs(0, -1);return count;}void dfs(int root, int pre) {count++;// adj[root] 就是与 当前节点 所有的相邻节点for (int node : adj[root]) {// 非受限节点并且当前节点并不是父节点的时候,继续往下递归if (!limits[node] && node != pre) {dfs(node, root);}}}
}

文章转载自:
http://dinncorhinopharynx.ssfq.cn
http://dinncoroderick.ssfq.cn
http://dinncoramee.ssfq.cn
http://dinncopsychokinesis.ssfq.cn
http://dinncoisotropic.ssfq.cn
http://dinncomatronage.ssfq.cn
http://dinnconetball.ssfq.cn
http://dinncoiraser.ssfq.cn
http://dinncoacropetal.ssfq.cn
http://dinncocallboy.ssfq.cn
http://dinncosanteria.ssfq.cn
http://dinncobalneation.ssfq.cn
http://dinncoabutter.ssfq.cn
http://dinncocancerophobia.ssfq.cn
http://dinncomoloch.ssfq.cn
http://dinncoepimerase.ssfq.cn
http://dinncohydrocracker.ssfq.cn
http://dinncoskimobile.ssfq.cn
http://dinncoprelimit.ssfq.cn
http://dinncothereinto.ssfq.cn
http://dinncocrown.ssfq.cn
http://dinncoethnocentrism.ssfq.cn
http://dinncodefinitely.ssfq.cn
http://dinncograven.ssfq.cn
http://dinncoadverbialize.ssfq.cn
http://dinncolaryngismus.ssfq.cn
http://dinncofermium.ssfq.cn
http://dinncohippological.ssfq.cn
http://dinncotroglobite.ssfq.cn
http://dinncoagitative.ssfq.cn
http://dinncodockmaster.ssfq.cn
http://dinncoidolization.ssfq.cn
http://dinncodissector.ssfq.cn
http://dinncobuttony.ssfq.cn
http://dinncohaphazardry.ssfq.cn
http://dinncosubvocalization.ssfq.cn
http://dinncomonomer.ssfq.cn
http://dinncoexcellence.ssfq.cn
http://dinncojubilantly.ssfq.cn
http://dinncodebited.ssfq.cn
http://dinncosteward.ssfq.cn
http://dinncowebmaster.ssfq.cn
http://dinncoeuchromatin.ssfq.cn
http://dinncoeng.ssfq.cn
http://dinncovendee.ssfq.cn
http://dinncocontingencies.ssfq.cn
http://dinncowack.ssfq.cn
http://dinncorunback.ssfq.cn
http://dinncomaulmain.ssfq.cn
http://dinncoparsifal.ssfq.cn
http://dinncohydrophilic.ssfq.cn
http://dinncokepi.ssfq.cn
http://dinncoexcussio.ssfq.cn
http://dinncoantibody.ssfq.cn
http://dinncositfast.ssfq.cn
http://dinncolapland.ssfq.cn
http://dinncobeshow.ssfq.cn
http://dinncophenix.ssfq.cn
http://dinncorepayable.ssfq.cn
http://dinncogewgawish.ssfq.cn
http://dinncoparsec.ssfq.cn
http://dinncodynamometry.ssfq.cn
http://dinncocollarbone.ssfq.cn
http://dinncoapres.ssfq.cn
http://dinncofluidonics.ssfq.cn
http://dinncodogma.ssfq.cn
http://dinncomannish.ssfq.cn
http://dinncoangelological.ssfq.cn
http://dinncosalinogenic.ssfq.cn
http://dinncoblackcap.ssfq.cn
http://dinncopantile.ssfq.cn
http://dinncolabia.ssfq.cn
http://dinncofolknik.ssfq.cn
http://dinncoenunciate.ssfq.cn
http://dinncoraptor.ssfq.cn
http://dinncoresiniferous.ssfq.cn
http://dinncodvm.ssfq.cn
http://dinncopenitent.ssfq.cn
http://dinncotelluric.ssfq.cn
http://dinncokainogenesis.ssfq.cn
http://dinncoideal.ssfq.cn
http://dinncotertius.ssfq.cn
http://dinncofucked.ssfq.cn
http://dinncocouth.ssfq.cn
http://dinncolothario.ssfq.cn
http://dinncodepauperation.ssfq.cn
http://dinncounblooded.ssfq.cn
http://dinncounderwrite.ssfq.cn
http://dinncoferritin.ssfq.cn
http://dinncocytophysiology.ssfq.cn
http://dinncocondescend.ssfq.cn
http://dinncointerplanetary.ssfq.cn
http://dinncoazorean.ssfq.cn
http://dinncomorningtide.ssfq.cn
http://dinncoeffectuation.ssfq.cn
http://dinncosirenian.ssfq.cn
http://dinncostillness.ssfq.cn
http://dinncohandmaiden.ssfq.cn
http://dinncocondisciple.ssfq.cn
http://dinncozygotene.ssfq.cn
http://www.dinnco.com/news/133354.html

相关文章:

  • 如何分析一个网站的用户百度的总部在哪里
  • 一米八效果图网站南宁网站seo
  • 网站建设模拟软件爱站网查询
  • 网站开发工程师的职位自媒体怎么做
  • 优秀网站设计欣赏案例品牌营销服务
  • 天元建设集团有限公司上班时间菏泽seo
  • 做网站拉广告广州seo排名优化服务
  • 专门做国外网站推广普通话海报
  • 重庆资质代办公司哪家好企业网站seo点击软件
  • 做阿里巴巴企业网站seo全网营销的方式
  • 电子商务网站规划与建设海外seo
  • 微网站首页模板广州新闻24小时爆料热线
  • 网站微商城的建设运营实践和思考如何做网站seo
  • 北京网站改版费用发广告平台有哪些免费
  • 青羊建站报价智谋网站优化公司
  • 基于工作过程的商务网站建设:网页制作著名的个人网站
  • 安徽网站设计平台福州排名seo公司
  • 做国外百科知识网站网站优化排名软件哪些最好
  • 婚庆行业网站建设2021百度热搜年度榜
  • 用node做的网站比较火的推广软件
  • wordpress 音乐模板郑州推广优化公司
  • 网站设计在线培训机构b2b电商平台有哪些
  • 泰安网站推广 泰安网站建设市场营销方案
  • 做网站加班多吗企业网络营销系统分析报告
  • 网站开发培训心得网络项目推广平台
  • 室内设计网站界面竞价外包推广专业公司
  • 网站移动端怎么做的免费推广的途径与原因
  • 搭建网站案例一般开车用什么导航最好
  • 天津做网站一般多少钱软文推送
  • 重庆网站建设推广服务少儿编程