LeetCode #724. Find Pivot Index

题目

724. Find Pivot Index


解题方法

设置一个leftsum和一个rightsum,分别初始化为0和sum(nums),遍历数组,如果i不是0,则leftsum加上i-1位置的数,否则leftsum不动。然后再把rightsum减去i位置的数,比较leftsum和rightsum是否相等,如果相等返回i,循环结束返回-1。
时间复杂度:O(n)
空间复杂度:O(1)


代码

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        leftsum = 0
        rightsum = sum(nums)
        
        for i in range(len(nums)):
            if i:
               leftsum += nums[i-1]
            rightsum -= nums[i]
            if leftsum == rightsum:
                return i
        
        return -1
posted @ 2020-11-04 16:37  老鼠司令  阅读(62)  评论(0)    收藏  举报