leetcode如何寻找数组的中心索引
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下leetcode如何寻找数组的中心索引,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、题目内容给定一个
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
工企海关数据库
如何将代码放入服务器
ps使命召唤16怎么选择服务器
广东常用软件开发价格大全
世界ol的服务器
指盈网络技术有限公司
下列有关网络安全调查
有什么网络安全的网站
西双版纳回收服务器
新形势下网络安全
网络安全问题警示教训
天涯明月刀手游第一个服务器
十大网络安全提案
移动软件开发创建项目
php部署到服务器上
如何利用网络安全技术
抖音服务器好不好
网络安全的6大特点
上海质量软件开发
ftp服务器连接不上
乡镇网络安全年度工作计划
网络安全主题20个字
20万水文地质数据库规范
融易算南京互联网科技有限公司
高职专业目录 网络安全
腾讯云服务器右键是哪里
rs422串口服务器
服务器隔离型
小学生的网络安全手抄报内容
ftp服务器连接不上