- 大家好今天我们来介绍一下python中常用的数据结构数组。
#coding=utf8
# 问题1.
# 给定一维数组,要求找出数组中一个数,使得该数等于左边之和同时也等于右边之和
#,如有多个仅输出第一个,如果没有返回空
def do_count(alist):
#异常判断
if not alist:
return None
left_sum = 0
right_sum = 0
#数组支持
left_index = 0
right_index = len(alist) - 1
#当左边的指针需要右边的指针,继续累加,知道相等或者指针相等
while left_index < right_index:
left_sum += alist[left_index]
right_sum += alist[right_index]
if left_sum == right_sum:
print "left_sum:",left_sum ,"right_sum:",right_sum
print "left_index+1:",left_index+1 ,"right_index-1:",right_index-1
#只剩一个数
if left_index+1 == right_index-1:
return alist[left_index+1]
left_index += 1
right_index -= 1
return None
if __name__ == "__main__":
a = [1,2,3,4,3,2,1]
#a = [1,2,3,4,3,2,3] 无
print do_count(a)