news 2026/4/9 13:46:54

leetcode 2092(排序+bfs)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 2092(排序+bfs)

2092: 找出知晓秘密的所有专家

思路:排序+bfs广度优先搜索

假设一开始 0 和 1 知道秘密。对比如下两种情况:

  • 时间 1,1 和 2 开会。时间 2,2 和 3 开会。秘密会传播给 2 和 3,最终 0,1,2,3 都知道秘密。
  • 时间 1,2 和 3 开会。时间 2,1 和 2 开会。第一场会议,参加会议的人都不知道秘密,所以秘密不会传播。秘密只会在第二场会议传播给 2,最终 0,1,2 都知道秘密。

所以要按照开会的先后顺序传播秘密,模拟这个过程。

注意题目的这段话:

  • 秘密共享是瞬时发生的。也就是说,在同一时间,一个专家不光可以接收到秘密,还能在其他会议上与其他专家分享。

解读:在同一时间发生的所有会议,可以视作一个无向图。专家是图中的节点,meetings[i] 是图的边,连接 xi 和 yi。这个图可能有多个连通块。每个连通块只要有一个人知道秘密,那么整个连通块的人都能知道秘密。

class Solution { public: vector<int> findAllPeople(int n, vector<vector<int>>& meetings, int firstPerson) { //按时间分组,同一时间的会议放一个 vector 里 map<int,vector<pair<int,int>>> met_time; for(auto& m:meetings) met_time[m[2]].emplace_back(m[0],m[1]); set<int> known{0,firstPerson}; //已知秘密的人 //按时间顺序处理,map容器自动升序排序 for(auto& [_,vec]:met_time){ unordered_map<int,vector<int>> g; set<int> nodes; //自动去重 //建图 for(auto& [u,v]:vec){ g[u].push_back(v); g[v].push_back(u); nodes.insert(u); nodes.insert(v); } //把当前时刻已知的所有人当起点做 BFS queue<int> q; for(int x:nodes) if(known.count(x)) q.push(x); while(!q.empty()){ int u=q.front();q.pop(); for(int v:g[u]){ if(!known.count(v)){ known.insert(v); q.push(v); } } } } vector<int> ans(known.begin(), known.end()); return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/22 7:24:02

20251219给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时解决编译ov5645的驱动的时候出现goto free_entity错误: 标号‘f

20251219给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时解决编译ov5645的驱动的时候出现goto free_entity错误&#xff1a; 标号‘free_entity’使用前未定义 2025/12/19 14:06缘起&#xff1a;给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-…

作者头像 李华
网站建设 2026/4/8 10:15:02

3步解锁影院级画质:MPV播放器终极调校指南

你是否在深夜观影时被泛白的HDR画面破坏了沉浸感&#xff1f;或者作为一个色彩强迫症患者&#xff0c;总感觉视频色彩不够精准&#xff1f;今天我们将通过工具对比、实操演示和性能评测三个维度&#xff0c;带你重新认识MPV播放器的色彩管理能力。 【免费下载链接】mpv &#x…

作者头像 李华
网站建设 2026/4/5 16:23:29

通达信liu彩神龙指标 源码

{}变量00:5;变量01:30; A02:(WINNER((CLOSE * 1.100)) * 100.000); A03:(WINNER((CLOSE * 0.9)) * 100.000); A04:MA(A03,变量00); {} STICKLINE( 1.000,0,A04, 7.450,0),colorred; 获利:MA(A03,变量00),colorred; A06:( 100.000 - MA(A02,变量00)); STICKLINE( 1.000, 100.000…

作者头像 李华
网站建设 2026/4/5 14:44:28

FaceFusion在美妆产品测评中的素人形象批量创建

FaceFusion在美妆产品测评中的素人形象批量创建 在美妆内容竞争日益激烈的今天&#xff0c;一个新品口红的推广能否成功&#xff0c;往往不取决于配方多先进&#xff0c;而在于它能不能“被看见”——更准确地说&#xff0c;是能否以足够多样的面孔、足够真实的效果&#xff0c…

作者头像 李华
网站建设 2026/4/7 13:04:21

Open-AutoGLM连接不上手机?立即检查这5项配置,99%问题可快速解决

第一章&#xff1a;Open-AutoGLM 手机连接失败网络配置当使用 Open-AutoGLM 框架进行移动端集成时&#xff0c;手机设备无法建立有效网络连接是常见问题。此类故障通常源于本地服务未正确暴露、防火墙策略限制或移动设备与开发主机之间的网络环境隔离。检查本地服务绑定地址 确…

作者头像 李华
网站建设 2026/4/5 22:55:01

Open-AutoGLM识别精度上不去?一文看懂图像预处理关键参数配置

第一章&#xff1a;Open-AutoGLM 屏幕识别不准调试方法在使用 Open-AutoGLM 进行自动化任务时&#xff0c;屏幕识别不准确是常见问题之一&#xff0c;通常由图像分辨率、元素匹配阈值或环境干扰引起。为提升识别精度&#xff0c;需系统性地排查并调整相关参数。检查图像采集质量…

作者头像 李华