今日头条笔试,第一题过了90%,最后的10%想了好久也没过,是有什么特殊情况没考虑?想知道问题在哪
把第一个与第二个数字的差作为T,每输入一个数字,拿前面数字(这个数字的索引不一定就是当前数字的索引减一)加T看判断与当前输入的数字相等不,不相等就拿当前数字减第一个数字的差作为新T,前一个数字的索引重新更新,相等的话前面数字的索引加一
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int N=in.nextInt();
for (int i=0; i < N; i++) {
int n=in.nextInt();
long[] a=new long[n + 1];
long T=1;
int start=1;
for (int j=1; j <=n; j++) {
a[j]=in.nextLong();
if (j==2) {
T=a[2] - a[1];
start=2;
}
if (j > 2) {
if (a[start] + T==a[j]) {
start++;
} else {
start=1;
T=a[j] - a[start];
start++;
}
}
}
System.out.println(T);
}
}