724. 寻找数组的中心下标
解题思路
数学问题,通过找规律得到解题方式,设数组和为total,第i个元素的左侧元素和为sum,则当 2 ∗ s u m + n u m s [ i ] = t o t a l 2*sum+nums[i]=total 2∗sum+nums[i]=total时左右侧元素相等。
代码
def pivotIndex(self, nums: List[int]) -> int:
total = sum(nums)
sum_l = 0
for i in range(len(nums)):
if 2 * sum_l + nums[i] == total:
return i
sum_l += nums[i]
return -1