leetcode:寻找数组的中心索引

简介:

正文


36.png算法:

既然需要找到这个中心的位置,那么,首先应该知道每一个位置的和是多少,这样的话,我们就可以设计出来一个数组,专门保存我们当前的累加和,方便与后续的操作。


37.png

时间复杂度:O(N)

空间复杂度:O(N)

最后的代码:


class Solution724:
    def pivotIndex(self, nums: List[int]) -> int:
        res = -1
        n = len(nums)
        if n == 0:
            return -1
        elif n == 1:
            return 0
        elif n < 3:
            return -1
        else:
            sum_list = [0 for i in range(n)]
            sum_list[0] = nums[0]
            for j in range(1, n):
                sum_list[j] = sum_list[j - 1] + nums[j]
            if sum_list[n - 1] == sum_list[0]:
                return 0
            for j in range(1, n - 1):
                if sum_list[j - 1] == sum_list[n - 1] - sum_list[j]:
                    return j
            if sum_list[n - 2] == 0:
                return n - 1
        return res

最后一定不要忘记边界值哈!!!!


相关文章
|
4月前
|
消息中间件 NoSQL Kafka
【Kafka核心】消息投递语义、Exactly-Once实现、幂等性、事务消息
本文系统梳理Kafka消息一致性核心体系:以「不丢不重」为目标,详解At-Most-Once、At-Least-Once、Exactly-Once三类投递语义;深入剖析幂等性(单会话单分区去重)与事务机制(跨分区/跨会话原子性)的原理与配置;最终整合生产者、Broker、消费者三方协同,实现端到端Exactly-Once。附最佳实践与避坑指南。
|
负载均衡 Java API
SpringCloud Alibaba详解
服务治理 服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。 服务注册:服务实例将自身服务信息注册到注册中心。 服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。 服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到。
759 0
|
8月前
|
人工智能 前端开发 JavaScript
2025年主流Web自动化测试工具功能与性能深度对比
2025年主流Web自动化测试工具在功能、性能等方面差异显著。功能上,不同工具在元素定位、脚本兼容性等核心模块各有优劣;性能方面,执行效率与资源占用需平衡,分布式执行能力对高并发场景很重要。还介绍了智能化与生态扩展趋势,给出企业选型建议及不同规模团队适用方案。
|
存储 机器学习/深度学习 人工智能
大规模数据处理:从挑战到应用的技术突破
在当今数字化时代,大规模数据的处理已成为企业和组织面临的重大挑战。本文将探讨大规模数据处理面临的挑战,介绍相关技术的发展与突破,并探讨其在各个领域的实际应用。
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
33252 201
如何保证分布式文件系统的数据一致性
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36821 22
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24905 16

热门文章

最新文章