Python编码BAT平衡点:如何开始

Python编码BAT平衡点:如何开始,python,point,balance,Python,Point,Balance,我有一个编码蝙蝠的挑战,我需要完成,已经在这里搜索了一个解决方案或任何其他建议,但没有找到任何 以下是挑战: “平衡点”是一个值列表数组可以拆分的点,这样一来,一边的数字之和等于另一边的数字之和。(平衡点包含在“第二”子列表中。)给定一个非空整数列表,返回平衡点,如果给定列表不存在平衡点,则返回-1 balance_point([1, 1, 1, 2, 1]) → 3 balance_point([2, 1, 1, 2, 1]) → -1 balance_point([10, 10]) → 1

我有一个编码蝙蝠的挑战,我需要完成,已经在这里搜索了一个解决方案或任何其他建议,但没有找到任何

以下是挑战: “平衡点”是一个值列表数组可以拆分的点,这样一来,一边的数字之和等于另一边的数字之和。(平衡点包含在“第二”子列表中。)给定一个非空整数列表,返回平衡点,如果给定列表不存在平衡点,则返回-1

balance_point([1, 1, 1, 2, 1]) → 3
balance_point([2, 1, 1, 2, 1]) → -1
balance_point([10, 10]) → 1
我想把清单分成两部分,对每一部分求和,然后比较总和。但是,我如何知道将列表拆分到哪里?我如何从左到右求和这些数字呢

任何帮助都将不胜感激

基本情况:如果列表的大小小于2,则返回-1 安装程序
  • 设sR是右子列表的和,R是列表n-1中最后一项的索引。将sR设置为索引n-1处项目的值
  • 设sL为左子列表的和,L为列表0中第一项的索引。将sL设置为索引0处项目的值
算法:
  • 如果sR和R-1大于L,则将索引R-1处的值添加到sR,并将R设置为R-1

  • 如果sL和L+1小于R,则将索引L+1处的值添加到sL,并将L设置为L+1

  • 如果sL=sRL+1小于R-1,则将R设置为R-1并将L设置为L+1,然后重复步骤1-2

  • 重复步骤1-3,直到所有条件都为假

  • 答复:
    如果sL=sR,则返回R,否则返回-1,这是一个编码挑战。那么,你不应该自己解决这个问题吗?是的,威廉,但是我已经用尽了我在学校和互联网上的所有资源,仍然坚持着开始。这就是我在这里发布的全部原因。。。非常有建设性的回应。感谢建议,从你不知道的开始。搜索“在python中将列表分成两部分”。查看python文档(特定于您的python版本)中的列表,看看有哪些方法可以帮助您。其次,考虑把一个列表作为一个单独的问题并试图解决它的问题。这些文档还介绍了python,这应该会有所帮助。