题目描述
开发团队为了调研微服务调用情况,对 n 个微服务调用数据进行了采集分析,微服务使用数字 0 至 n-1 进行编号。
给你一个下标从 0 开始的数组 edges,其中 edges[i] 表示存在一条从微服务 i 到微服务 edges[i] 的接口调用。
我们将形成 1 个环的多个微服务称为微服务群
- 一个微服务群组的所有微服务数量为 L
- 能够访问到该微服务群组的微服务数量为 V
- 这个微服务群组的内聚值 H = L - V
已知提供的数据中有 1 个或多个微服务群组,请按照内聚值 H 的结果从大到小的顺序对所有微服务群组(H 相等时,取环中最大的数进行比较)排序,
输出排在第一的微服务群组(输出时每个微服务群组输出的起始编号为环中最小的数)。
输入描述
入参分为两行输入:
- 第一行为:n,表示有 n 个微服务
- 第二行为:数组edges,其中 edges[i] 表示存在一条从微服务 i 到微服务 edges[i] 的接口调用,数字以空格分隔
输入范围说明:
- n == edges.length
- 2 ≤ n ≤ 10^5
- 0 ≤ edges[i] ≤ n-1
- edges[i] ≠ i
输出描述
输出排在第一的微服务群组的编号数组,按照环的访问顺序输出,起始编号为环中最小的数&#