在Python中查找左右元素总和相等的索引的程序
假设我们有一个名为nums的项目列表,我们必须找到最小的索引i,使得i左侧的数字之和等于i右侧的数字之和。如果我们找不到任何这样的解决方案,则返回-1。
因此,如果输入类似于nums=[8,2,3,6,5,2,5,9,1,2],则输出将为4,因为索引4左侧的元素总和为[8,2,3,6]=19,右边的元素总和也是[2,5,9,1,2]=19。
示例
让我们看下面的实现来更好地理解
def solve(nums): r = sum(nums) l = 0 for i,x in enumerate(nums): r -= x if r == l: return i l += x return -1 nums = [8,2,3,6,5,2,5,9,1,2] print(solve(nums))
输入
[8,2,3,6,5,2,5,9,1,2]输出结果
4