【力扣】寻找数组的中心索引

☁️标记为简单的题,但是C++的思路一时没有,于是转换成Python🐍正好练练


题目描述:
在这里插入图片描述
两个实例
在这里插入图片描述
提示
在这里插入图片描述
开个小差😄
在这里插入图片描述
没有!


思路
做这道题,Python第一个想法就是列表求和然后遍历
算法

  • S 是数组的和,当索引i是中心索引时,位于i左边数组元素的和 leftsum 满足 S - nums[i] - leftsum
  • 我们只需要判断当前索引 i 是否满足 leftsum==S-nums[i]-leftsum 并动态计算 leftsum 的值。

代码就是这样

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

做后对照题解,发现几乎和官方一样

在这里插入图片描述

posted @   Aeterna_Gungnir  阅读(143)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具
· C# 13 中的新增功能实操
点击右上角即可分享
微信分享提示