【摘要】 题目描述
思路分析
数组来储存小朋友们的崇拜对象,然后下标+1就是对应的小朋友座号,写一个方法找出每一个小朋友的崇拜圈大小,然后找出最大的崇拜圈即可
代码实现
package lanqiao;import java.util.*;
public class Main { public static void main(String[] args) { …
题目描述
思路分析
数组来储存小朋友们的崇拜对象,然后下标+1就是对应的小朋友座号,写一个方法找出每一个小朋友的崇拜圈大小,然后找出最大的崇拜圈即可
代码实现
package lanqiao;
import java.util.*;
public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] nums = new int[n]; for (int i = 0; i < n; i++) { nums[i] = sc.nextInt(); } int max = -1; for (int v : nums) { List<Integer> list = new ArrayList<>(); int cnt = 0; int i = v; while (!list.contains(i)) {//判断list中有没有这个第i个小朋友 list.add(i);//添加小朋友崇拜的人 i = nums[i - 1];//找到当前小朋友崇拜的人 cnt++; if (cnt > max) { max = cnt; } } } System.out.println(max); }
}
答案
文章来源: blog.csdn.net,作者:Frank—7,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45783660/article/details/115823607
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END