美文网首页
python版本给定一维数组,要求找出数组中一个数,使得该数等于

python版本给定一维数组,要求找出数组中一个数,使得该数等于

作者: 翩翩公子银圈圈 | 来源:发表于2018-09-12 20:29 被阅读0次

给定一维数组,要求找出数组中一个数,使得该数等于左边之和同时也等于右边之和,如有多个仅输出第一个,如果没有返回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 <tall)):
    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 <tall)):
    if(doubleValue==2*A[index]):
        print(A[index]);
    else:
        print(False)
else:
    print(False)

相关文章

网友评论

      本文标题:python版本给定一维数组,要求找出数组中一个数,使得该数等于

      本文链接:https://www.haomeiwen.com/subject/cjvbgftx.html