zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    归并排序
    快速排序
    冒泡排序
    排序算法复杂度
    [LeetCode] 20. Valid Parentheses ☆(括号匹配问题)
    makefile编写helloworld
    shell的通俗理解
    PID三种参数的理解
    PID的原理
    PID控制温度
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12642141.html
Copyright © 2011-2022 走看看