请各位大神帮我看看哪里错了



小明和小李两个人分糖果一共有n个,每份都有质量,现在要求什么时候小明和小李分的糖果一样多但】是小明又能拿到最大质量。(小李只会二进制计算而且计算是这样的规律 1011+1000=0011)最终判断一样是判断小明的计算结果相同。
比如糖果有4颗每颗质量分别为3 5 7 9 3=>0011 5=>1010 7=>1110 9=>1001 3+5 = 0011+0101 = 0110 7+9 = 0111+1001 = 1110 如果不存在返回false

list1 = []
# 递归 def fun1(i):     if i >= 0:         print(list1(i) ^ fun1(i - 1))         return list1(i) ^ fun1(i - 1)     return 1 # 输入 n = int(input("请输入:")) for i in range(n):     a = int(input("请输入第%d个的质量" % i))     list1.append(a) print(len(list1)) b = fun1(len(list1)-1) ^ 1 if b == 0:     min = min(list1)     print('小李的质量为%d' % min)     sum = 0     for i in list1:         sum = i + sum     print("小明的质量为%d" % (sum-min)) else:     print("False")

#python算法华为笔试#
全部评论
这是dp吧
点赞 回复
分享
发布于 2020-07-12 11:07
你可以把题目再和我说一下么😀
点赞 回复
分享
发布于 2020-08-03 19:59
英特尔
校招火热招聘中
官网直投

相关推荐

2 4 评论
分享
牛客网
牛客企业服务