每日一题-力扣(leetcode)2368. 受限条件下可到达节点的数目

news/2023/6/7 1:07:59

题目描述

现有一棵由 n 个节点组成的无向树,节点编号从 0 到 n - 1 ,共有 n - 1 条边。

给你一个二维整数数组 edges ,长度为 n - 1 ,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条边。另给你一个整数数组 restricted 表示 受限 节点。

在不访问受限节点的前提下,返回你可以从节点 0 到达的 最多 节点数目。

注意,节点 0 不 会标记为受限节点。
在这里插入图片描述

示例 1:

在这里插入图片描述

输入:n = 7, edges = [[0,1],[1,2],[3,1],[4,0],[0,5],[5,6]], restricted = [4,5]
输出:4
解释:上图所示正是这棵树。
在不访问受限节点的前提下,只有节点 [0,1,2,3] 可以从节点 0 到达。

示例 2:

在这里插入图片描述

输入:n = 7, edges = [[0,1],[0,2],[0,5],[0,4],[3,2],[6,5]], restricted = [4,2,1]
输出:3
解释:上图所示正是这棵树。
在不访问受限节点的前提下,只有节点 [0,5,6] 可以从节点 0 到达。

解题思路

首先建好图,然后进行无重复访问的 BFS(广度优先搜索),然后设立一个visited数组,被限制的结点和已访问过的结点则标记好不用访问即可。

AC代码

class Solution {
public:bool visited[200000] = {false};int reachableNodes(int n, vector<vector<int>>& edges, vector<int>& restricted) {int ans = 0;queue<int>q;for(auto i : restricted) visited[i] = true;vector<int>G[200000], a;for(int i = 0; i < edges.size(); i++) {a = edges[i];G[a[0]].push_back(a[1]);G[a[1]].push_back(a[0]);}//    for(int i = 0; i < n; i++) {//        cout << "i=" << i << " ";//        for(auto j : G[i]) cout << j << " ";//        cout << endl;//    }q.push(0);while(!q.empty()) {int top = q.front();q.pop();for(auto i : G[top]) {if(visited[i]) continue;q.push(i);ans++;visited[i] = true;}}return ans == 0 ? 1 : ans; // 如果根节点和其他任何结点都有限制则返回1}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4556415.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

浅议抖音短视频平台的利与弊

近些年&#xff0c;各类短视频在中华文化国际传播中发挥了独特作用&#xff0c;比如说李子柒、丁真等网络达人为代表的视听内容在国际话语体系中努力塑造可信、可亲、可敬的中国人形象&#xff0c;并以此带动了“中国元素”的时尚潮流&#xff0c;引发海外民众对东方文化的关切…

科技发展的悖论

环境污染&#xff0c;核威胁&#xff0c;平台经济/算法经济&#xff0c;信息茧房……&#xff0c;科技对于人类&#xff0c;到底是福音&#xff0c;还是祸患&#xff1f;或者说&#xff0c;科技对人类是利大于弊&#xff0c;还是弊大于利&#xff1f;我个人觉得&#xff0c;先要…

从“网红”到“长红”,回归实体才是正解?

在线上无对手的新消费品牌蕉内、三顿半还是往线下发展了&#xff0c;为何这些依托流量红利而崛起的新消费品牌纷纷开始转回线下&#xff1f;难道“线下实体”才是从“网红”到“长红”的答案吗&#xff1f; 大鱼&#xff08;植铭品牌管理联合创始人&#xff09;&#xff1a;未来…

新技术带来产业格局周期波动的3个阶段(以智能汽车领域为例分析)

前言&#xff1a;本文是&#xff0c;胡含、左左左左左 等多位“AI产品经理大本营”成员和hanniman一起讨论的干货总结&#xff0c;欢迎读者们也来加入交流&#xff1a;&#xff09;目录一、新技术&#xff08;互联网/移动互联网/AI&#xff09;带来产业格局周期波动的3个阶段二…

平方沙龙|如何识别与管理创业合伙人之间的关系和潜在的法律风险

记者&#xff1a;歌子 当当网“庆俞年”之争中&#xff0c;北大的高材生&#xff0c;李国庆先生&#xff0c;可谓年度普法大使&#xff0c;上演了一幕幕生动的关于婚姻风险、公司控制权争夺的“组合拳”以及股权代持的现实版案例教学&#xff1b;“游族”的董事长林奇被投毒身…

程序员入门:选择编程书籍的利与弊,选错可能拖慢你的学习进度!

假如你要学习编程&#xff0c;应该从哪里开始呢&#xff0c;是通过一些好书来学习编程还是观看一些在线教程&#xff0c;或者两者结合学习呢&#xff1f; 这里我个人建议刚开始的时候可以两两结合&#xff0c;多尝试不同的学习途径&#xff0c;这样你很快就可以了解哪种才是最…

科技巨头争相发布智能家居新品,但这些利与弊应该了解

智造观点在对技术发展的很多期望中&#xff0c;所有的需求基线都是为了让我们的生活更加舒适&#xff0c;能够从繁重的日常琐事中解脱出来。比如智能手机的出现&#xff0c;让我们很容易通过手机设备实现自己对购物、银行、电子邮件、娱乐等方面的需求&#xff0c;大大节省了时…

自动化数据处理的利与弊

前言&#xff1a;电商红利褪去的时代 什么是电商红利&#xff1f;电商红利其核心就是流量红利期&#xff0c;具体指用户平均消费额随着访问流量中新用户的不断增加而增加。这是电商产生红利最主要的支撑因素。 在流量红利时代&#xff0c;用低价流量来获取利润是所有企业的不…