news 2026/6/10 14:13: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/6/10 5:29:17

4步闪电出图:Qwen-Image-Lightning如何颠覆AI创作体验

4步闪电出图&#xff1a;Qwen-Image-Lightning如何颠覆AI创作体验 【免费下载链接】Qwen-Image-Lightning 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Qwen-Image-Lightning 在AI图像生成领域&#xff0c;速度与质量似乎总是一对矛盾体。传统扩散模型需要5…

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

Moovie.js视频播放器终极指南:打造专业级HTML5播放体验

Moovie.js视频播放器终极指南&#xff1a;打造专业级HTML5播放体验 【免费下载链接】moovie.js Movie focused HTML5 Player 项目地址: https://gitcode.com/gh_mirrors/mo/moovie.js Moovie.js是一款专为电影爱好者设计的现代化HTML5视频播放器&#xff0c;以其出色的字…

作者头像 李华
网站建设 2026/6/10 13:58:29

FaceFusion与ButterCMS集成:轻量级网站的内容增强

FaceFusion与ButterCMS集成&#xff1a;轻量级网站的内容增强 在今天的数字内容战场上&#xff0c;用户不再满足于静态图文。他们想要互动、个性化&#xff0c;甚至“看见未来的自己”——比如一键换脸到明星脸上&#xff0c;或预览十年后的容貌变化。而与此同时&#xff0c;越…

作者头像 李华
网站建设 2026/6/10 18:46:21

【稀缺技术指南】Open-AutoGLM中文编码问题破解:仅需调整这3个参数

第一章&#xff1a;Open-AutoGLM 中文输入乱码问题概述在使用 Open-AutoGLM 模型处理中文文本时&#xff0c;部分用户反馈在输入阶段出现中文字符显示为乱码的现象。该问题通常出现在数据预处理、模型加载或推理接口调用过程中&#xff0c;严重影响了中文语义的理解与生成质量。…

作者头像 李华
网站建设 2026/6/10 17:27:35

移动端动画架构终极指南:构建企业级组件化解决方案

移动端动画架构终极指南&#xff1a;构建企业级组件化解决方案 【免费下载链接】lottie-ios airbnb/lottie-ios: Lottie-ios 是一个用于 iOS 平台的动画库&#xff0c;可以将 Adobe After Effects 动画导出成 iOS 应用程序&#xff0c;具有高性能&#xff0c;易用性和扩展性强的…

作者头像 李华
网站建设 2026/6/10 23:54:31

5个VizTracer数据管理技巧:平衡性能与存储的终极指南

5个VizTracer数据管理技巧&#xff1a;平衡性能与存储的终极指南 【免费下载链接】viztracer VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution. 项目地址: https://gitcode.com/gh_mirrors/vi/viztr…

作者头像 李华