欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Leetcode】724-寻找数组的中心索引(Find Pivot Index)

程序员文章站 2022-06-11 17:25:54
724...

724.寻找数组的中心索引.

【Leetcode】724-寻找数组的中心索引(Find Pivot Index)
【Leetcode】724-寻找数组的中心索引(Find Pivot Index)

解法.

  1. 从左到右遍历每一个位置,分别计算左右和,相等时返回索引。
  2. 从左到右遍历每一个位置,只累加左边和Left,当2*Left=AllSum-SplitValue时返回分割元素的索引。
class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        #Empty List.
        if len(nums)==0:
            return -1

        left=0
        right=sum(nums[1:len(nums)])
        #right equals 0.
        if left==right:
            return 0
        for i in range(1,len(nums)):
            left=left+nums[i-1]
            right=right-nums[i]
            if left == right:
                return i
        return -1

【Leetcode】724-寻找数组的中心索引(Find Pivot Index)

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        #Empty List.
        if len(nums)==0:
            return -1
        AllSum=sum(nums)
        left=0
        for i in range(len(nums)):
            if 2*left+nums[i]==AllSum:
                return i
            left=left+nums[i]
        return -1

【Leetcode】724-寻找数组的中心索引(Find Pivot Index)

官方解答.

思想和解法2一致,其Python代码实现如下:

class Solution(object):
    def pivotIndex(self, nums):
        S = sum(nums)
        leftsum = 0
        for i, x in enumerate(nums):
            if leftsum == (S - leftsum - x):
                return i
            leftsum += x
        return -1

作者:LeetCode
链接:https://leetcode-cn.com/problems/find-pivot-index/solution/xun-zhao-shu-zu-de-zhong-xin-suo-yin-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【Leetcode】724-寻找数组的中心索引(Find Pivot Index)
【Leetcode】724-寻找数组的中心索引(Find Pivot Index)

本文地址:https://blog.csdn.net/weixin_44246009/article/details/107344362