【力扣】寻找数组的中心索引

☁️标记为简单的题,但是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

做后对照题解,发现几乎和官方一样

在这里插入图片描述

posted @ 2020-04-26 15:14  Aeterna_Gungnir  阅读(143)  评论(0编辑  收藏  举报