今日头条笔试,第一题过了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); } }#笔试题目##春招##字节跳动#