news 2026/4/18 12:24:41

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/4/17 21:22:12

Langchain-Chatchat支持哪些文档格式?TXT、PDF、Word一键解析

Langchain-Chatchat 支持哪些文档格式&#xff1f;TXT、PDF、Word一键解析 在企业知识管理日益复杂的今天&#xff0c;如何让散落在各个角落的制度文件、产品手册和会议纪要“活起来”&#xff0c;成为一线员工随手可查的智能助手&#xff0c;正成为一个关键挑战。通用大模型虽…

作者头像 李华
网站建设 2026/4/18 8:50:57

深度解析:Bruno脚本执行环境的阶段差异与最佳实践

深度解析&#xff1a;Bruno脚本执行环境的阶段差异与最佳实践 【免费下载链接】bruno 开源的API探索与测试集成开发环境&#xff08;作为Postman/Insomnia的轻量级替代方案&#xff09; 项目地址: https://gitcode.com/GitHub_Trending/br/bruno Bruno作为开源的API测试…

作者头像 李华
网站建设 2026/4/18 5:32:31

音乐创作的AI革命:腾讯LeVo如何重塑创作边界

在数字音乐创作领域&#xff0c;一场由人工智能引领的变革正在悄然发生。腾讯AI Lab开源的LeVo模型&#xff0c;以其独特的技术架构和多样化的创作能力&#xff0c;为音乐创作带来了前所未有的可能性。本文将从技术演进、创作流程重构和行业影响三个维度&#xff0c;深度解析这…

作者头像 李华
网站建设 2026/4/18 11:04:26

什么是FCC认证?FCC-ID认证怎么办理流程?

一、什么是 FCC 认证FCC 认证是美国联邦通信委员会&#xff08;Federal Communications Commission&#xff09;针对进入美国市场的电子电器设备设立的强制性合规认证&#xff0c;核心是管控设备的电磁干扰与射频发射&#xff0c;避免设备对美国的无线通信网络、周边电子设备造…

作者头像 李华
网站建设 2026/4/18 5:30:39

PostMan的轻量替代:PostIn,开源免费接口管理工具

在日常研发过程中&#xff0c;为了减少前端、后端沟通成本&#xff0c;通常会使用一些接口管理工具。PostMan是一款广泛使用的‌API开发与测试工具&#xff0c;‌主要用于模拟HTTP请求、调试接口&#xff0c;不适合高并发或压力测试场景&#xff0c;对特殊协议支持有限&#xf…

作者头像 李华
网站建设 2026/4/17 19:24:03

智谱AI嵌入模型:3行代码解锁文本向量化的核心工具

智谱AI嵌入模型&#xff1a;3行代码解锁文本向量化的核心工具 【免费下载链接】llm-universe 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-universe 你是否曾经为了将文本转化为计算机可理解的向量而苦恼&#xff1f;在构建RAG应用时&#xff0c;嵌入模型的…

作者头像 李华