微软面试题:公平索引
描述
现在给你两个长度均为N的整数数组 A 和 B。
当(A[0]+…A[K-1]),(A[K]+…+A[N-1]),(B[0]+…+B[K-1]) 和 (B[K]+…+B[N-1])四个和值大小相等时,称索引K是一个公平索引。也就是说,索引K 可以使得A, B 两个数组被分成两个非空数组,这四个子数组的和值相等。
例如,数组A = [4,-1,0,3],B = [-2,5,0,3],那么索引 K = 2是公平的,子数组的和相等:4+(-1) = 3; 0+3 = 3; -2 + 5 = 3 and 0 + 3 = 3。
现在请你计算公平索引的个数。
- 2<=N<=100000
- -1000000000<=a[i],b[i]<=1000000000 (0<=i<N)
样例1
输入:
[4,-1,0,3] [-2,5,0,3]
输出:
2
样例 2:
输入:
[2,-2,-3,3] [0,0,4,-4]
输出:
1
样例 3:
输入:
[4,-1,0,3] [-2,6,0,4]
输出:
0