leetcode:寻找数组的中心下标

news2024/7/4 6:21:12

寻找数组的中心下标

easy

给你一个整数数组 nums ,请计算数组的 中心下标

数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。

如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。

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

示例 1:

输入:nums = [1, 7, 3, 6, 5, 6]
输出:3
解释:
中心下标是 3 。
左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,
右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。

示例 2:

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

示例 3:

输入:nums = [2, 1, -1]
输出:0
解释:
中心下标是 0 。
左侧数之和 sum = 0 ,(下标 0 左侧不存在元素),
右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0 。

提示:

  • 1 <= nums.length <= 104
  • -1000 <= nums[i] <= 1000

时间复杂度 O(N)O(N)O(N) : 其中 NNN 为数组 nums 长度。求和操作使用 O(N)O(N)O(N) 线性时间,遍历 nums 最差使用 O(N)O(N)O(N) 线性时间。

空间复杂度 O(1)O(1)*O*(1) : 变量 prefix , suffix 使用常数大小空间。

动态题解:

1656947339-ObGLSz-figures
class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        prefix = 0# 前缀和
        suffix = sum(nums)# 后缀和
        for i in range(len(nums)):
            suffix -= nums[i]
            if prefix == suffix:
                return i
            prefix += nums[i]

        return -1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git bash设置字体大小

背景 git bash默认字体太小了&#xff0c;每次读信息都要伸头盯着屏幕&#xff0c;很不自在&#xff0c;不符合我的风格&#xff0c;so let’s do it&#xff01; 修改前的git bash&#xff1a; 正确的打开方式 1、在任意目录下&#xff0c;右键选择“Git Bash Here”&…

这5款能带来意想不到效果的小工具,你用过几款?

​ 有时候一些小工具&#xff0c;能给你带来一些意想不到的效果&#xff0c;我们来看看下面这5款工具&#xff0c;你又用过其中几款呢&#xff1f; 数据标注平台——Labelbox ​ Labelbox是一个数据标注平台&#xff0c;可以帮助你创建和管理高质量的训练数据&#xff0c;用于…

【新版系统架构】系统架构设计师教程全篇知识点提炼

第一章-绪论 架构的定义&#xff1a; 1、架构体现在组件中的一个系统的基本组织、彼此的关系和环境的关系及指导它的设计和发展的原则 2、系统是组织起来完成某一特定功能或一组功能的组件集 3、环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的…

Map集合以及它的实现类们

Map集合 Map集合的概念理解 在现实生活中&#xff0c;我们经常会碰见一对一标识的例子&#xff1a;如身份证号与个人、IP地址与主机名等。这些一一对应的关系就是映射。在Java之中也能为我们的对象添加一个“一”的对应关系—Map<K,V>集合&#xff0c;位于java.util.Ma…

113.(cesium篇)cesium卷帘分屏效果

地图之家总目录(订阅之前必须详细了解该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: cesium卷帘分屏效果 下面献上完整代码,代码重要位置会做相应解释…

实战演练Python数据分析[pandas]

文章目录 [TOC](文章目录) 前言一、MoviesLens数据集二、美国1880-2010年的婴儿名字三、美国农业部视频数据库四、2012年联邦选举委员会数据库总结 前言 本篇文章出自于《利用Python进行数据分析》示例数据 请结合提供的示例数据&#xff0c;分析代码的功能&#xff0c;并进行…

微服务优雅上下线的实践方法

导语 本文介绍了微服务优雅上下线的实践方法及原理&#xff0c;包括适用于 Spring 应用的优雅上下线逻辑和服务预热&#xff0c;以及使用 Docker 实现无损下线的 Demo。同时&#xff0c;本文还总结了优雅上下线的价值和挑战。 作者简介 颜松柏 腾讯云微服务架构师 拥有超过…

Win10下安装TensorRT

Win10下安装TensorRT 前言相关介绍Win10下安装TensorRT查看cuda版本下载tensorrt8.xx版本&#xff0c;适用于Windows的cuda11.x的版本解压下载好的压缩包使用pip下载wheel文件遇到新问题解决方法 测试TensorRT是否安装成功 参考 前言 由于本人水平有限&#xff0c;难免出现错漏…

WAS 9.0 ND 命令行安装-基于LINUX 8

WAS 9.0 安装文件准备如下&#xff1a; gtk.x86_64_1.8.9004.20190423_2015.zip ----IM安装源文件 sdk.repo.8035.java8.linux.zip ----JAVA安装源文件 was.repo.90501.nd.zip ----WAS安装源文件 …

深度学习(27)——YOLO系列(6)

深度学习&#xff08;27&#xff09;——YOLO系列&#xff08;6&#xff09; 嗨&#xff0c;好久不见&#xff0c;昨天结束了yolov7的debug过程&#xff0c;真的在尽力句句理解&#xff0c;我想这应该是我更新的yolo系列的最后一篇&#xff0c;但是仅限于yolo&#xff0c;dete…

Day43: 123.买卖股票的最佳时机III,188.买卖股票的最佳时机IV

目录 123.买卖股票的最佳时机III 思路 188.买卖股票的最佳时机IV 思路 123.买卖股票的最佳时机III 123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 思路 1. 确定dp数组及其下标含义 一天一共就有五个状态&#xff0c; 没有操作 &#xff08…

白皮书精彩章节:从冬奥会看我们如何做到与“双碳”目标偕行

以下案例来自于《数字孪生世界白皮书&#xff08;2023版&#xff09;》 领取方式&#xff1a;公众号「EasyV数字孪生」后台回复「白皮书」即可领取&#xff01; 一、“双碳”提出背景 1、正式提出 在2020年9月22日75届联合国大会上&#xff0c;中国首次在国际公开场合提出…

Vue计算属性与监听器

文章目录 计算属性配置项 computedHTML 结构Vue 实例数据方法计算属性绑定数据和方法完整代码 监听器配置项 watch简单类型写法深度监听写法 计算属性配置项 computed 使用 Vue 实现一个商品价格计算器&#xff0c;设置一个初始单价&#xff0c;初始数量为 1&#xff0c;用户可…

开源外卖点餐系统源码:提升餐饮行业数字化转型

随着数字化时代的到来&#xff0c;餐饮行业正积极寻求数字化转型的方式来适应市场需求。开源外卖点餐系统源码成为推动餐饮行业数字化转型的有力工具。本文将介绍一个开源外卖点餐系统的源码&#xff0c;并解析其中的关键代码&#xff0c;展示如何利用开源源码来提升餐饮行业的…

漏洞攻击 --- TCP -- 半开攻击、RST攻击

TCP半开攻击&#xff08;半连接攻击&#xff09; --- syn攻击 &#xff08;1&#xff09;定义&#xff1a; sys 攻击数据是DOS攻击的一种&#xff0c;利用TCP协议缺陷&#xff0c;发送大量的半连接请求&#xff0c;耗费CPU和内存资源&#xff0c;发生在TCP三次握手中。 A向B…

2023年为何最卷的IT行业仍是很多人的首选?

最近这段时间&#xff0c;“IT行业崩盘了”、“前端已死&#xff0c;后端已亡”这些言论在网络中甚嚣尘上&#xff0c;引起了激烈的讨论。 对此&#xff0c;小编只想说&#xff1a;别再看了&#xff01;这不妥妥的传播焦虑吗&#xff1f;他们怎么只告诉你IT行业完了&#xff…

前端预览pdf文件

在前端开发中&#xff0c;很多时候我们需要进行pdf文件的预览操作&#xff0c;下面给出几种常见的预览pdf文件的方法&#xff1a; 一&#xff1a;直接浏览器打开 如果项目对pdf的预览功能要求不高&#xff0c;只是要求能够看的话&#xff0c;可以直接在浏览器上打开pdf文件的…

浅谈 java 虚拟机 JVM

前言 小亭子正在努力的学习编程&#xff0c;接下来将开启JavaEE的学习~~ 分享的文章都是学习的笔记和感悟&#xff0c;如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话&#xff0c;烦请点赞关注支持一波, 感激不尽~~ 目录 前言 JVM中的内存划分 JVM的类加载机制…

今天我们要向您介绍的是一款来自厂家的劲道半干面 - 味尚拉面

尊敬的顾客您好&#xff0c;感谢您选择我们的电商平台。今天我们要向您介绍的是一款来自厂家的劲道半干面 - 味尚拉面。 味尚拉面是一款经典的面食品牌&#xff0c;以选用高品质面粉和精选优质食材为特点&#xff0c;采用独特工艺制作而成。其中&#xff0c;味尚拉面的半干面更…

ChatGPT 最佳实践指南之:给 GPT 足够的时间“思考”

Give GPTs time to "think" 给予 GPT 足够的时间“思考” If asked to multiply 17 by 28, you might not know it instantly, but can still work it out with time. Similarly, GPTs make more reasoning errors when trying to answer right away, rather than ta…