1068. 寻找数组的中心索引

Posted yunxintryyoubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1068. 寻找数组的中心索引相关的知识,希望对你有一定的参考价值。

1068. 寻找数组的中心索引

中文English

给定一个整数数组nums,编写一个返回此数组的“中心索引”的方法。

我们将中心索引定义为:中心索引左边的数字之和等于中心索引右边的数字之和。

如果不存在这样的中心索引,我们应该返回-1。 如果有多个中心索引,则应返回最左侧的那个。

样例

样例1:

输入: 
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释: 
索引3 (nums[3] = 6)左侧所有数之和等于右侧之和。
并且3是满足条件的第一个索引。

样例2:

输入: 
nums = [1, 2, 3]
输出: -1
解释: 
并没有满足条件的中心索引。

注意事项

  • nums的长度范围为[0, 10000].
  • nums[i] 中每个元素都是[-1000, 1000]范围内的整数.
 
 
输入测试数据 (每行一个参数)如何理解测试数据?(双指针,不要多次求和,避免超过时间限制)
class Solution:
    """
    @param nums: an array
    @return: the "pivot" index of this array
    """
    ‘‘‘
    大致思路:
    1.给定初始值,left,right = 0,sum(nums),一次求和即可,不用多次求和。双指针的方法,left += nums[index],right -= nums[index]
    2.如果left == right ,则直接返回index,否则-1
    ‘‘‘
    def pivotIndex(self,nums):
        left,right = 0,sum(nums)
        for index in range(len(nums)):
            right -= nums[index] 
            if left == right:
                return index
            left += nums[index]
        return -1

 

以上是关于1068. 寻找数组的中心索引的主要内容,如果未能解决你的问题,请参考以下文章

JS leetcode 寻找数组的中心索引 题解分析

LeetCode724 寻找数组的中心索引

力扣(LeetCode)寻找数组的中心索引 个人题解

LeetCode刷题-简单-寻找数组的中心索引

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

寻找数组的中心索引