2127。最大的员工被邀请参加会议
>难度: hard
主题:深度优先搜索,图形,拓扑排序
>一家公司正在组织会议,并有n名员工名单,等待被邀请。他们已经安排了一张大圆桌会议,能够座位员工的任何数字。
员工的编号为0到n -1。每个员工都有一个> 的人,他们才会参加会议>,只有当他们才能坐在他们喜欢的人旁边的情况下桌子。员工的最喜欢的人是>不是他们自己。> 给定a
0-索引整数阵列,其中最喜欢的[i]表示ith> th 员工的最喜欢的人,返回>可以邀请参加会议的员工。
>>示例1:
>输入:
fairm = [2,2,1,2]
> >输出:
3>说明:
上面的图显示了公司将如何邀请员工0、1、3和4,并将其坐在圆桌会议上。
>从给定的数组的喜爱中,创建一个图形,对于每个索引i,都有一个从喜欢的[i]到i的指向边缘。该图将是循环和无环边缘链的组合。现在,我们可以选择员工坐在桌子上的方式?
<?php /** * @param Integer[] $favorite * @return Integer */ function maximumInvitations($favorite) { ... ... ... /** * go to ./solution.php */ } // Example usage: $favorites1 = [2, 2, 1, 2]; $favorites2 = [1, 2, 0]; $favorites3 = [3, 0, 1, 4, 1]; echo maximumInvitations($favorites1) . "\n"; // Output: 3 echo maximumInvitations($favorites2) . "\n"; // Output: 3 echo maximumInvitations($favorites3) . "\n"; // Output: 4 ?>
>链条的拓扑排序
:
>没有传入边缘的员工(indegree = 0)进行处理以计算导致周期的链长。
:
>访问员工以检测周期。一旦找到一个周期:结果:
>o(n)
>github
以上就是受邀参加会议的最大员工数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号