leetcode 2127. 参加会议的最多员工数
1 class Solution { 2 public: 3 int maximumInvitations(vector<int>& favorite) { 4 int n=favorite.size(); 5 vector<int>ind(n); 6 for(int i=0;i<n;i++)ind[favorite[i]]++; 7 vector<int>mxlen(n,1); 8 queue<int>q; 9 for(int i=0;i<n;i++) 10 if(!ind[i])q.push(i); 11 12 while(q.size()) 13 { 14 auto u=q.front(); 15 q.pop(); 16 --ind[favorite[u]]; 17 mxlen[favorite[u]]=max(mxlen[u]+1,mxlen[favorite[u]]); 18 if(!ind[favorite[u]]) q.push(favorite[u]); 19 } 20 int f[n]; 21 memset(f,0,sizeof(f)); 22 function<int(int u)>dfs=[&](int u) 23 { 24 if(f[u])return 0; 25 f[u]=1; 26 int v=favorite[u]; 27 return dfs(v)+1; 28 }; 29 int mx1=0,mx2=0; 30 for(int i=0;i<n;i++) 31 { 32 if(!ind[i]||f[i])continue; 33 int cnt=dfs(i); 34 if(cnt==2)mx2+=mxlen[i]+mxlen[favorite[i]]; 35 else mx1=max(mx1,cnt); 36 } 37 return max(mx1,mx2); 38 } 39 };
学会了用拓扑排序找链,找环。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)