(数组) 724. 寻找数组的中心下标 ——【Leetcode每日一题】

news/2024/7/24 13:03:48/

❓724. 寻找数组的中心下标

难度:简单

给你一个整数数组 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 < = n u m s . l e n g t h < = 1 0 4 1 <= nums.length <= 10^4 1<=nums.length<=104
  • − 1000 < = n u m s [ i ] < = 1000 -1000 <= nums[i] <= 1000 1000<=nums[i]<=1000

注意:本题与 1991. 找到数组的中间位置 相同!!!

💡思路:前缀和

  1. 遍历一遍求出总和 sum
  2. 遍历第二遍求中心索引左半和 leftSum
    • 同时根据 sumleftSum 计算中心索引右半和,并判断其和 leftSum 是否相同;
    • 相同则返回数组的一个下标,即为中心下标
  3. 没有 中心下标,返回 -1 ;

🍁代码:(Java、C++)

Java

class Solution {public int pivotIndex(int[] nums) {int sum = 0;for (int num : nums) sum += num; // 求和int leftSum = 0;    // 中心索引左半和for (int i = 0; i < nums.length; i++) {if(leftSum == sum - leftSum - nums[i]) return i;leftSum += nums[i];}return -1;}
}

C++

class Solution {
public:int pivotIndex(vector<int>& nums) {int sum = 0;for (int num : nums) sum += num; // 求和int leftSum = 0;    // 中心索引左半和for (int i = 0; i < nums.size(); i++) {if(leftSum == sum - leftSum - nums[i]) return i;leftSum += nums[i];}return -1;}
};

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( n ) O(n) O(n),其中 n 为数组的长度。
  • 空间复杂度 O ( 1 ) O(1) O(1)

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我LeetCode主页 / CSDN—力扣专栏,每日更新!

注: 如有不足,欢迎指正!


http://www.ppmy.cn/news/328328.html

相关文章

AMD皓龙6系列单路服务器主板,AMD皓龙4000系列处理器实现云价值

中端市场的数据中心对架构的要求可能是最多的。CIO们必须考虑增长的可能性&#xff0c;但同时还不能超出预算。为了实现这个目的&#xff0c;很多人选择对其服务器资源进行虚拟化。这意味着&#xff0c;企业需要一个全新的服务器来处理虚拟化所需要的资源。 旧的服务器设计并不…

AMD 怎么了

最近看一些文章&#xff0c;发现AMD开始进入ARM市场&#xff0c;而且是来势汹汹&#xff0c;不仅要做ARM。还要搞内存和显卡。的确现在的AMD在和英特尔竞争暂时落下风&#xff0c;但是AMD是用户除了英特尔之外的唯一选择了。真不知道AMD如果放弃x86 CPU我们就得等待英特尔慈悲为…

cpu功耗排行_AMD、Intel主流处理器性能、功耗及性价比排行(更新中)

拼 命 加 载 中 ... 虽然现在流行CPU性能足够甚至CPU过剩论,只是装机时选购哪款CPU依然是首要考虑的问题,AMD总体上在性价比上保持优势,而Intel处理器在性能及能效上表现出色,但是涉及到具体价位时又会有许多的纠结。 怎么选CPU是个综合了性能、功耗、价格以及个人偏好的难…

龙芯新款处理器发布;Citrix 产品曝“惊天漏洞”,影响全球 8 万家公司; AMD发布年度5大里程碑 ……...

关注并标星星CSDN云计算 速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01; 每周两次&#xff0c;打卡即read 更快、更全了解泛云圈精彩news go go go 铠侠&#xff08;东芝&#xff09;开发新型闪…

台式计算机 cpu型号大全,[计算机]AMD台式机和笔记本处理器CPU型号大全.doc

[计算机]AMD台式机和笔记本处理器CPU型号大全 AMD CPU型号大全 收录内容 ※AMD桌面&#xff1a;闪龙、速龙、羿龙、速龙II、羿龙II ※AMD移动&#xff1a;锐龙、闪龙、速龙、速龙II、羿龙II 补充说明 ※带☆的为不锁倍频版本 ※BE(Black Edition)为AMD黑盒版 ※红色为停产产品 …

zen3 服务器芯片,AMD EPYC霄龙服务器处理器亮相,Zen3架构性能飙升

AMD EPYC霄龙服务器处理器亮相&#xff0c;Zen3架构性能飙升 qk&BCkPT {dl#Tu AMD EPYC霄龙服务器处理器亮相&#xff0c;Zen3架构性能飙升R8%u9o N:^4OnVR T2T?)_f / 备受关注的第三代AMD EPYC霄龙服务器处理器“米兰(Milan)”正式亮相。“米兰”采用7nm制程工艺&#xf…

Python课期末考试复习

简答 定义函数的规则 1、函数代码块以def关键词开头&#xff0c;后接函数标识符名称和圆括号() 2、任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 3、函数的第一行语句可以选择性的使用文档字符串用于存放函数说明。 4、函数内容以冒号起始&#xf…

AMD皓龙系列服务器CPU,霄龙PK皓龙!AMD CPU 10年历史对比:一步登天

凭借全新的Zen架构&#xff0c;AMD处理器今年启动了绝地反击&#xff0c;无论主流的Ryzen还是发烧的Ryzen ThreadRipper都让人惊喜万分&#xff0c;而在服务器、数据中心领域&#xff0c;AMD同样带来了新的EPYC(霄龙)&#xff0c;重返竞争&#xff0c;直面Intel Xeon。 AMD曾经…

【软件环境安装部署】华为云服务器下 Docker 安装 MongoDB 以及 SpringBoot 整合 MongoDB 开发使用

文章目录 安装测试 MongoDB拉取镜像创建和启动容器登录mongo容器&#xff0c;并进入到【admin】数据库创建一个用户&#xff0c;mongo 默认没有用户连接mongo数据库测试数据库&#xff0c;插入一条语句测试数据库&#xff0c;查询刚才插入的语句查看所有数据库开放指定端口开放…

【外企面试系列】必备口语短语与例句 - BC系列

back and forth 来回地,反复地 The children were running back and forth between the playground and the swings. (孩子们在游乐场和秋千之间来回奔跑。)We went back and forth on the decision before finally making up our minds. (我们在这个决定上反复权衡&#xff0…

一文详解!接口测试 API 自动化测试框架

目录 前言 框架定位 框架架构图 框架介绍 技术栈 Case 展示 执行展示 框架优势&#xff1a; 前言 接口测试 API 自动化测试框架可以提高测试效率和自动化程度&#xff0c;通常包括 HTTP 客户端、测试数据管理、测试报告生成、测试用例管理和调度等功能。下面是一个常用…

【大学计算机技术】第一章 测试3

文章目录 选择题 选择题 计算机主存含有大量的存储单元&#xff0c;每个存储单元都可以存放8个Byte。 A. 正确 B. 错误 正确答案&#xff1a; B 计算机有很多I/O接口&#xff0c;用来连接不同类型的I/O设备&#xff0c;但同一种I/O接口只能连接同一种设备。 A. 正确 B. 错误 正…

React Hook入门小案例 在函数式组件中使用state响应式数据

Hook是react 16.8 新增的特性 是希望在不编写 class的情况下 去操作state和其他react特性 Hook的话 就不建议大家使用class的形式了 当然也可以用 这个他只是不推荐 我们还是先创建一个普通的react项目 我们之前写一个react组件可以这样写 import React from "react&qu…

[ICNN 1993] Optimal brain surgeon and general network pruning

Contents IntroductionMethodOptimal brain surgeon (OBS)Computing the inverse HessianThe ( t − o ) → 0 (\mathbf t-\mathbf o)\rightarrow 0 (t−o)→0 Approximation References Introduction 作者提出 Optimal brain damage (OBD) 的改进 Optimal brain surgeon (OB…

中控考勤机忘记密码处理

1、要进入考勤机&#xff0c;首先要知道考勤机的超级管理号码。考勤机的超级号码是8888.可以直接在考勤机屏幕上按出这几个数字。 2、其次是计算考勤机的密码。计算考勤机密码需要工具&#xff0c;也就是计算器&#xff0c;打开手机上的计算器。 3、有了计算器&#xff0c;还需…

连接中控指纹考勤机 zkemkeeper zksoftware ZKTeco

使用vb.net连接中控指纹考勤机需要的软件:1.开发包工具: http://www.zksky.com/Products/Download/Downloadseven/ &#xff08;我使 用的就是开发包下Demo文件&#xff0c;里面有3个文件夹对应不用的考勤机类型&#xff0c;注意是类型不是型号&#xff0c;不清楚就问考勤机公司…

Java spring boot 开发中控Live10R指纹采集器linux(指纹登录系统)

1.需求 需要做一个指纹登录系统&#xff0c;录入指纹&#xff0c;修改指纹等&#xff0c;指纹比对等。 2.开发 开启指纹采集器&#xff0c;指纹采集器base64数据录入到数据库以及指纹登录登出 package com.iot.modules.biz.fp;import com.iot.common.util.CommonUtil; import…

中控消费机一直显示连接服务器,中控消费机培训及常见问题的解决办法-1.ppt

《人教版历史第14课灿烂的宋元文化二 培训主题 消费机功能基本操作介绍 CM20集消费机&#xff0c;出纳机&#xff0c;补贴机功能于一体。机器的操作&#xff0c;分为机器操作和软件操作两大块。其中可以通过机器操作来实现消费机/出纳机/补贴机之间的切换。软件界面简洁清晰、操…

中控消费机一直显示连接服务器,中控消费机培训及常见问题的解决办法课件.ppt...

培训主题 消费系统培训 消费机功能基本操作介绍 CM20集消费机 出纳机 补贴机功能于一体 机器的操作 分为机器操作和软件操作两大块 其中可以通过机器操作来实现消费机 出纳机 补贴机之间的切换 软件界面简洁清晰 操作方便 功能齐全 系统稳定可靠 大大提升了管理效率 机器硬件核…

中控人脸指纹考勤机怎么如何偷偷修改数据记录

中控人脸指纹考勤机怎么如何偷偷修改数据记录在日常工作中&#xff0c;由于公司、单位、企业安装使用了人脸考勤机或指纹打卡机&#xff0c;进行员工考勤签到打卡管理&#xff0c;所以&#xff0c;很多员工或职员&#xff0c;都会按时上下班&#xff0c;自觉签到签退。可以说人…