千家信息网

leetcode如何寻找数组的中心索引

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下leetcode如何寻找数组的中心索引,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、题目内容给定一个
千家信息网最后更新 2026年11月01日leetcode如何寻找数组的中心索引

小编给大家分享一下leetcode如何寻找数组的中心索引,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、题目内容

给定一个整数类型的数组 nums,请编写一个能够返回数组 "中心索引" 的方法。

我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

示例 1:

输入:
nums = [1, 7, 3, 6, 5, 6]
输出:3
解释:
索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右侧数之和 (5 + 6 = 11) 相等。
同时, 3 也是第一个符合要求的中心索引。

示例 2:

输入:
nums = [1, 2, 3]
输出:-1
解释:
数组中不存在满足此条件的中心索引。

说明:

nums 的长度范围为 [0, 10000]。
任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。

二、解题思路

先计算nums所有元素的和,然后从左到右计算左边的和,如果:

左边和 * 2+当前元素 = 所有元素和

则返回当前元素索引,否则返回-1。

三、代码

class Solution:    def pivotIndex(self, nums: list) -> int:        whole_sum = sum(nums)        left_sum = 0        for i in range(len(nums)):            if left_sum * 2 + nums[i] == whole_sum:                return i            else:                left_sum += nums[i]        return -1if __name__ == '__main__':    s = Solution()    nums1 = [1, 7, 3, 6, 5, 6]    ans1 = s.pivotIndex(nums1)    print(ans1)    nums2 = [1, 2, 3]    ans2 = s.pivotIndex(nums2)    print(ans2)    nums3 = [-1, -1, -1, -1, -1, -1]    ans3 = s.pivotIndex(nums3)    print(ans3)    nums4 = [-1, -1, -1, -1, -1, 0]    ans4 = s.pivotIndex(nums4)    print(ans4)

以上是"leetcode如何寻找数组的中心索引"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

索引 数组 元素 内容 篇文章 之和 右侧 整数 示例 范围 解释 输入 输出 不怎么 代码 同时 多个 大部分 思路 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 互联网科技企业 互联网科技工作委员会 互联网科技会 疫情对互联网科技公司影响 智能科技公司是互联网公司吗 卓越科技(互联网 ) 博兴的互联网电子科技公司 云创客互联网科技公司 现代科技和互联网有关系吗 互联网大会黑科技排名 语蝶互联网科技有限公司 互联网与医疗科技 成都互联网科技公司工作好不好 健康食品互联网创新科技园项目 中科明德北京互联网科技 滨湖区互联网智能科技产品有哪些 卡尔迅互联网科技有限公司 互联网领先科技成果宣传视频 优雇互联网科技有限公司 湖北九亚互联网络科技有限公司 华服互联网科技靠谱吗 广州大一互联网络科技有限公司 科技类互联网 浩特互联网科技 居家互联网科技有限公司 济南和联互联网科技有限公司 承德科技产业互联网发展 深圳市优智互联网科技有限公司 银川新华互联网科技学校招聘
0