用 Python 编写程序,查找左右元素和相等的索引
pythonserver side programmingprogramming更新于 2025/12/18 1:48:17
假设我们有一个名为 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。
为了解决这个问题,我们将遵循以下步骤 −
r := nums 中存在的所有元素的总和
l := 0
对于 nums 中的每个索引 i 和值 x,执行
r := r - x
如果 r 与 l 相同,然后
返回 i
l := l + x
返回 -1
示例
让我们看看下面的实现以便更好地理解
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 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

