给定一维数组,要求找出数组中一个数,使得该数等于左边之和同时也等于右边之和,如有多个仅输出第一个,如果没有返回False
输入
每行数字(int类型)为一一个数组数组元素用逗号分隔
输出
要求输出为一一个数字,或者False
样例输入
3,1,4,4
样例输出
4
A=[3,1,4,4]
if (len(A)== 0):
print(False)
length=len(A)
head = 0
tall = length-1;
index = length // 2;
total = 0;
for i in range(length):
total += A[i]
while((index > head) &(index
totalLeft = 0;
for le in range(index):
totalLeft += A[le]
doubleValue=(total - A[index]);
if (totalLeft*2 < doubleValue):
head=index;
index = index + (length - index) / 2;
elif (totalLeft*2 > doubleValue):
tall=index;
index = head + (index - head) / 2;
else:
break
if((index > head) &(index
if(doubleValue==2*A[index]):
print(A[index]);
else:
print(False)
else:
print(False)