今日头条笔试,第一题过了90%,想知道问题在哪
今日头条笔试,第一题过了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);
}
}#笔试题目##春招##字节跳动#