724. 寻找数组的中心下标

news/2024/11/27 23:45:50/

724. 寻找数组的中心下标(面试题打卡/前缀和/简单)

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-pivot-index

题干:

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

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

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

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

提示:

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

示例:

输入: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 ,二者相等输入:nums = [1, 2, 3]
输出:-1
解释:
数组中不存在满足此条件的中心下标。输入:nums = [2, 1, -1]
输出:0
解释:
中心下标是 0 。
左侧数之和 sum = 0 ,(下标 0 左侧不存在元素),
右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0

题解:

前缀和

class Solution {public int pivotIndex(int[] nums) {int n = nums.length;int[] sum = new int[n + 1];for(int i = 0; i < n; i++)sum[i] = sum[(i - 1) < 0 ? 0 : (i - 1)] + nums[i];if(sum[n - 1] - sum[0] == 0) // 下标0为中心的情况return 0;for(int i = 0; i < n - 1; i++) { // 遍历所有点,判断if(2 * sum[i] == sum[n - 1] - nums[i + 1])return i + 1;}return -1;}
}

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

相关文章

ubuntu20.04耳机没有声音

前言 电脑硬件和Ubuntu系统本身是没有问题的&#xff0c;只是耳机的功能被默认关闭了&#xff0c;只需要开启就可以啦&#xff01;&#xff01;&#xff01; 解决办法 打开终端&#xff08;CtrlAltt&#xff09; 执行 alsamixer 命令&#xff0c;如下图结果&#xff1a; …

【洛谷】P1342 请柬(正反建图+dijkstra)

1&#xff1a;思考&#xff1a; 从1到所用顶点简单&#xff08;单源最短路径。&#xff09;&#xff0c;重点在怎么解决所用点到1&#xff08;单终点最短路径&#xff09; 答案&#xff1a;反向建图使&#xff08;单终点最短路径→单源最短路径。&#xff09; 复杂度&#xf…

大势Inside |《倾斜摄影测量实景三维建模技术规程》发布

2023年6月21日&#xff0c;由广西壮族自治区自然资源产品质量检验中心、广西科学院、武汉大学提出&#xff0c;武汉大势智慧科技有限公司、武汉大学、广西科学院等27家单位起草的广西人工智能学会团体标准《倾斜摄影测量实景三维建模技术规程》正式发布。 此前&#xff0c;广西…

歌厅歌曲管理系统

系统功能&#xff1a;该系统以菜单方式工作&#xff0c;歌曲信息包括&#xff1a;歌名、演唱者、作词、作曲、所属专辑、出版时间、出版公司。试设计一歌厅歌曲管理系统&#xff0c;使之能提供以下功能&#xff1a;歌曲信息录入、修改、插入、删除功能&#xff1b;歌曲排序浏览…

KTV歌曲管理系统

歌曲管理系统---实现读、写文件中的歌曲信息、浏览、排序、查找、删除歌曲等功能。 [cpp:firstline[0]] view plain copy print ? #include "stdio.h" #include "stdlib.h" #include "malloc.h" #include "string.h" int i0…

MyBatis 中如何使用缓存

MyBatis 中如何使用缓存 MyBatis 是一个基于 Java 的持久层框架&#xff0c;它提供了多种方式来使用缓存&#xff0c;包括一级缓存和二级缓存。本文将介绍 MyBatis 中常见的缓存使用方式及其使用方法。 1. 一级缓存 MyBatis 中的一级缓存是指 SqlSession 的缓存&#xff0c;它…

有哪些比较好用的供应链管理系统?供应链系统好用的5大准则

阅读本文您将了解&#xff1a;1.什么是供应链管理系统&#xff1b;2.供应链管理系统主要解决哪些问题&#xff1b;3.有哪些比较好用的供应链管理系统&#xff1b;4.供应链管理系统的选择标准。 一、什么是供应链管理系统&#xff1f; 供应链管理系统&#xff08;Supply Chain …

USB Typec转HDMI方案

USB Typec转HDMI方案-AG9310,AG9311,AG9320,AG9321,几款型号是Algoltek安格科技 针对USB TYPE-C扩展坞和USB TYPE-CUSB扩展器市场需求下&#xff0c;新开发的搞性价比的方案芯片。其参数性能对比如下图所示&#xff1a;