【力扣】寻找数组的中心索引
☁️标记为简单的题,但是C++的思路一时没有,于是转换成Python🐍正好练练
题目描述:
两个实例
提示
开个小差😄
没有!
思路:
做这道题,Python第一个想法就是列表求和然后遍历
算法:
S
是数组的和,当索引i
是中心索引时,位于i
左边数组元素的和leftsum
满足S - nums[i] - leftsum
。- 我们只需要判断当前索引
i
是否满足leftsum==S-nums[i]-leftsum
并动态计算leftsum
的值。
代码就是这样
class Solution(object):
def pivotIndex(self, nums):
S = sum(nums)
leftsum = 0
for i, j in enumerate(nums):
if leftsum == (S - leftsum - j):
return i
leftsum += j
return -1
做后对照题解,发现几乎和官方一样