在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

以上是 在Python中查找左右元素总和相等的索引的程序 的全部内容, 来源链接: utcz.com/z/327383.html

回到顶部