面试题求 平衡点
2.平衡点问题:
假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
比如一个列表numbers=[1,3,',",",2',4,20] 2前面的总和为24,2后面的总和也是24,那么2这个点就是平衡点;
要求编写程序,寻找并返回任意一个列表的平衡点
答案:
def balance_point(array): num=len(array) if num<3: print("长度不够") else: for i in range(num): if i==0: pass else: left=sum(array[:i]) right=sum(array[i+1:]) if left==right: return "the_point_sub:%d,the_point_value:%d"%(i,array[i]) return "无平衡点" if __name__=="__main__": # list_=[1, 3, 5, 7, 8, 25, 4, 20] list_=[1,19,4,20] print(balance_point(list_))