题目

给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。

中间位置 middleIndex 是满足 nums[0] + nums[1] + ... + nums[middleIndex-1] == nums[middleIndex+1] + nums[middleIndex+2] + ... + nums[nums.length-1] 的数组下标。

如果 middleIndex == 0 ,左边部分的和定义为 0 。类似的,如果 middleIndex == nums.length - 1 ,右边部分的和定义为 0 。

请你返回满足上述条件 最左边 的 middleIndex ,如果不存在这样的中间位置,请你返回 -1 。

示例 1:

输入:nums = [2,3,-1,8,4]
输出:3
解释:
下标 3 之前的数字和为:2 + 3 + -1 = 4
下标 3 之后的数字和为:4 = 4

示例 2:

输入:nums = [1,-1,4]
输出:2
解释:
下标 2 之前的数字和为:1 + -1 = 0
下标 2 之后的数字和为:0

解题代码

class Solution {public int findMiddleIndex(int[] nums) {int n = nums.length;if (n==1){return 0;}int pre= 0;int after = 0;for (int i = 0;i<n;i++){after += nums[i];}for(int i = 0;i <n ;i++){after = after - nums[i];if (pre==after){return i;}else{pre = pre + nums[i];}}return -1;}
}

Leetcode-5846.周赛 找到数组的中间位置相关推荐

  1. LeetCode 1991. 找到数组的中间位置(前缀和)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个). 中间位置 ...

  2. js数组查找最接近_在JavaScript数组中找到最小元素的位置

    在JavaScript数组中找到最小元素的位置 注*  之前有篇文章介绍过数据遍历的性能比较: for in 比for loop慢至少20倍 ,这是另外一篇比较数组查找性能的例子,通过对手工/inde ...

  3. AcWing周赛 72 场 LeetCode单周赛 314 场 总结

    一.LeetCode单周赛 314 场 1.6200.处理用时最长的那个任务的员工 (1)原题链接:力扣https://leetcode.cn/problems/the-employee-that-w ...

  4. leetcode练习一:数组(二分查找、双指针、滑动窗口)

    文章目录 一. 数组理论基础 二. 二分查找 2.1 解题思路 2.2 练习题 2.2.1 二分查找(题704) 2.2.2 搜索插入位置(题35) 2.2.3 查找排序数组元素起止位置(题34) 2 ...

  5. LEETCODE | PYTHON | 724 | 寻找数组的中心下标

    LEETCODE | PYTHON | 724 | 寻找数组的中心下标 1. 题目 给你一个整数数组 nums ,请计算数组的 中心下标 . 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等 ...

  6. 【前端js】实现剑指offer|leetcode(二)——数组题目集合

    文章目录 一.数组去重 1. 对排序数组去重(leetcode 26. 删除排序数组中的重复项) 2. 检查是否存在重复元素(leetcode 217. 存在重复元素) 3. 检查相邻k个元素是否存在 ...

  7. 搜索长度未知的有序数组java_java二分法实现在有序的数组中定位某数在数组中的位置...

    在一个有序的数组中,快速查找某值在有序数组中的位置,有人说这很容易啊,直接一个for循环遍历看看数组中哪个值与它相等,输出索引就ok了.这是个很直接的方法,但又没有想过但数组的长度很长时,你遍历一遍是 ...

  8. 每日一道 LeetCode (42):旋转数组

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  9. numpy找到数组中符合条件的数

    numpy找到数组中符合条件的数 import numpy as nparr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 1 ...

最新文章

  1. 服务器群安装系统,服务器安装总结
  2. 剑指offer:反转链表
  3. Globalplatform TEE api介绍
  4. CCNA第十一章学习笔记OSPF简介
  5. springboot:BeanPostProcessor示例及分析
  6. CoreAnimation编程指南(一)概念
  7. 万字详解Lambda、Stream和日期
  8. 判断活动窗口_蒙城活动推拉棚定做厂家
  9. 吴恩达《深度学习》第二门课(3)超参数调试、Batch正则化和程序框架
  10. vue引入萤石云监控进行播放
  11. 学云计算能从事哪些岗位 未来职业发展是什么样
  12. 如何辨别u盘是否为缩水,并恢复u盘真实容量
  13. bwa mem 报错处理:[mem_sam_pe] paired reads have different names
  14. php 有下划线的方法,编码风格 - PHP类方法中领先的下划线有什么用?
  15. runtime.getruntime.availableprocessors
  16. 第三方登录之微信登录
  17. voip是利用计算机网络,计算机三级网络技术VoIP概述
  18. 2019河南省第十二届ACM大学生程序设计竞赛参赛感
  19. 超级简单的视频调色教程分享
  20. Esper学习之五:EPL语法(一)

热门文章

  1. UNIX Domain Socket(UDS)是什么?同一台主机间进程间通信
  2. python中的sys.argv是什么?(控制台参数传递、控制台传参)
  3. pycharm新建文件夹时新建python package和新建directory有什么区别?
  4. Executors框架——5种常用的线程池介绍及区别
  5. SpringBoot v2.2.6版本遇到的坑 --- HiddenHttpMethodFilter组件的锅
  6. mysql8安装错误_Windows安装MySQL8.0.16 的步骤及出现错误问题解决方法
  7. 地磅称重软件源码_【漯河衡器】浅谈地磅称重的发展趋势
  8. springcloud ribbon 配置负载均衡策略以及自定义策略
  9. java中实现将十六进制按位取反
  10. 如何删除springboot中的子项目