题目
农夫约翰的 N 头奶牛排成一排,每头奶牛都用其品种 ID 进行描述。
如果两头相同品种的牛靠得太近,它们就会吵架。
具体的说,如果同一品种的两头奶牛在队列中的位置相差不超过 K,我们就称这是一对拥挤的牛。
请计算品种 ID 最大的拥挤奶牛对的品种 ID。
输入格式
第一行包含两个整数 N 和 K。
接下来 N 行,每行包含一个整数表示队列中一头奶牛的品种 ID。
输出格式
输出品种 ID 最大的拥挤奶牛对的品种 ID。
如果不存在拥挤奶牛队,则输出 −1。
代码
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner inScanner = new Scanner(System.in);
int ans = -1;
int n, k;
int[] a = new int[1000100];
n = inScanner.nextInt();
k = inScanner.nextInt();
Arrays.fill(a, 0);
for(int i = 1; i <= n; i ++)
{
int b = inScanner.nextInt();
if(a[b] != 0 && i - a[b] <= k)
ans = Math.max(b, ans);
a[b] = i;
}
inScanner.close();
System.out.println(ans);
}
}
/*
6 3
7
3
4
2
3
4
*/