Leetcode做题记录-724. 寻找数组的中心索引

题目描述:
给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。
我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。
如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-pivot-index

一次遍历,设数组的和 s = sum(nums),左边和 ls 为0,则右边的和为 rs = s - ls - nums[i],如果ls == rs,则返回索引,否侧ls = ls + nums[i],循环。遍历结束后返回-1。

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        # 经过几次的提交验证,没有元素的时候值是零,即索引0的左边的和为零
        n = len(nums)
        s = sum(nums)
        ls = 0
        for i in range (n):
            if  ls == s -ls - nums[i]:
                return i
            ls = ls + nums[i]
        return -1

上一篇:你都用 Python 来做什么?学会Python能做什么?


下一篇:快速构建一个Golang下通用的GRPC服务,拒绝996