本帖最后由 新手·ing 于 2018-2-12 07:39 编辑
我们的玩法做了一下改变:
1. 增加悬赏机制,答对题目的前十位鱼油有资格参加悬赏竞争(我是穷人)代码简洁,运行效率高者获胜。
2. 请大家先独立思考,再参考其他鱼油的解答,这样才有助于自己编程水平的提高。
3. 鼓励大家积极答题,奖励的期限为出题后24小时内。
4. 根据答案的质量给予前十名鱼油5鱼币的奖励。
5. 当然我们的题目是面向新人出滴,也是想通过鱼币奖励给他们动力。
题目:
寻找平衡点:假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点,如果没有,就返回 None。
数组一定是由奇数个数字组成,所谓平衡点就是它前面的数字之和等于它后面的数字之和且数组不是顺序排列。
Test:[1, 3, 5, 7, 8, 25, 4, 20, 29]
[6, 5, 7, 9, 0, 5, 43, 2, 17, 13, 16]
[2, 31, 43, 234, 0, 10, 15, 310, 37, 43, 21]
[1, 3, 2, 546, 123, 546, 98, 543, 22, 424, 56, 23, 199, 934, 4]
[1, 2, 4, 34, 54, 27, 49, 14, 36, 25, 68, 13, 35, 78, 60, 25, 17, 5, 9, 23, 2, 1, 8, 1, 33, 26, 1, 9, 11, 5, 5, 253, 47, 65, 56, 10]
楼主会贴上自己的解答,一旦你回复的不是解题代码,将会被取消答题资格。
请慎重回复!
本帖最后由 °蓝鲤歌蓝 于 2018-2-10 17:41 编辑 b = [[1, 3, 5, 7, 8, 25, 4, 20, 29],
[6, 5, 7, 9, 0, 5, 43, 2, 17, 13, 16],
[2, 31, 43, 234, 0, 10, 15, 310, 37, 43, 21],
[1, 3, 2, 546, 123, 546, 98, 543, 22, 424, 56, 23, 199, 934, 4],
[1, 2, 4, 34, 54, 27, 49, 14, 36, 25, 68, 13, 35, 78, 60, 25, 17, 5, 9, 23, 2, 1, 8, 1,
33, 26, 1, 9, 11, 5, 5, 253, 47, 65, 56, 10]
]
def CountNum(a):
num = [a[i] for i in range(len(a)) if sum(a[:i]) == sum(a[i+1:])]
if num:
return num
for a in b:
print(CountNum(a))
1.我不知道你要返回的是这个平衡点的位置还是元素,我就当是返回元素了。
2.因为你没说列表里是正数还是负数,所以一个列表可能不止一个平衡点,所以我返回的是一个列表。
3.我真的是新人
|