题目描述
输入输出样例:
输入
9
3 4 2 5 3 8 4 6 9
输出
4
样例解释
参考代码
import java.util.Scanner;
public class Main {
static int []arr;
static int []v;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int max=0;
arr=new int[n+1];
for (int i = 1; i <= n; i++) {
arr[i]=sc.nextInt();
}
sc.close();
for(int i=1;i<arr.length;i++) {
v=new int[n+1];
v[i]=1;
max=Math.max(dfs(arr[i],i), max);
}
System.out.println(max);
}
private static int dfs(int x,int start) {
if (v[x]==1&&x==start) {
return 1;
}
if (v[x]==1) {
return -9999;
}
v[x]=1;
return dfs(arr[x], start)+1;
}
}