news 2026/10/14 14:33:45

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/10/15 4:09:46

Langchain-Chatchat社区生态现状与发展前景展望

Langchain-Chatchat社区生态现状与发展前景展望 在企业智能化转型的浪潮中&#xff0c;一个看似简单却长期困扰组织的问题正被重新审视&#xff1a;那些散落在各个部门、存储于不同格式文档中的内部知识——从员工手册到技术规范&#xff0c;从合同模板到操作流程——如何才能真…

作者头像 李华
网站建设 2026/10/14 23:42:44

LlamaIndex架构解密:7步构建高性能LLM数据管理系统 [特殊字符]

LlamaIndex架构解密&#xff1a;7步构建高性能LLM数据管理系统 &#x1f680; 【免费下载链接】llama_index LlamaIndex&#xff08;前身为GPT Index&#xff09;是一个用于LLM应用程序的数据框架 项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index 你是否…

作者头像 李华
网站建设 2026/10/13 23:15:50

Langchain-Chatchat本地知识库问答系统实战:如何用GPU加速大模型推理

Langchain-Chatchat本地知识库问答系统实战&#xff1a;如何用GPU加速大模型推理 在企业越来越依赖智能问答系统的今天&#xff0c;一个现实问题摆在面前&#xff1a;我们是否必须把敏感文档上传到云端才能获得强大的语言理解能力&#xff1f;答案显然是否定的。随着开源生态和…

作者头像 李华
网站建设 2026/10/14 23:57:52

深度剖析:群晖DS920+定制化引导镜像的构建奥秘

深度剖析&#xff1a;群晖DS920定制化引导镜像的构建奥秘 【免费下载链接】rr Redpill Recovery (arpl-i18n) 项目地址: https://gitcode.com/gh_mirrors/rr2/rr 在开源社区中&#xff0c;RR项目为群晖DS920型号成功构建了定制化引导镜像&#xff0c;这一技术实践不仅展…

作者头像 李华
网站建设 2026/10/15 11:14:01

【Open-AutoGLM实战排障系列】:从零搞定手机连接的6步标准化网络配置流程

第一章&#xff1a;Open-AutoGLM 手机连接失败网络配置当使用 Open-AutoGLM 框架进行移动端集成时&#xff0c;手机与开发主机之间的网络连接是关键环节。若出现连接失败&#xff0c;通常源于网络配置不当或服务未正确暴露。以下为常见问题排查与解决方案。检查设备与主机的网络…

作者头像 李华
网站建设 2026/10/15 3:48:41

Gymnasium环境版本控制实战:企业级强化学习复现性终极指南

在强化学习项目的实际部署中&#xff0c;高达73%的性能波动源于环境版本的不一致控制。Gymnasium作为强化学习环境的标准API&#xff0c;其版本控制机制直接决定了模型训练的商业价值实现。本文将从技术决策者视角&#xff0c;深度解析环境版本控制在企业级应用中的关键策略与投…

作者头像 李华