首页 > 其他分享 >力扣---1991. 找到数组的中间位置

力扣---1991. 找到数组的中间位置

时间:2022-12-25 22:44:53浏览次数:113  
标签:1991 力扣 right 下标 nums int 示例 --- middleIndex

给你一个下标从 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

示例 3:
输入:nums = [2,5]
输出:-1
解释:
不存在符合要求的 middleIndex 。

示例 4:
输入:nums = [1]
输出:0
解释:
下标 0 之前的数字和为:0
下标 0 之后的数字和为:0

提示:
    1 <= nums.length <= 100
    -1000 <= nums[i] <= 1000
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-the-middle-index-in-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

没啥好说的,直接看代码吧:

 1 class Solution {
 2     public int findMiddleIndex(int[] nums) {
 3         int left = 0;
 4         int right = 0;
 5         for (int num : nums) {
 6             right += num;
 7         }
 8         for (int i = 0; i < nums.length; i ++) {
 9             right -= nums[i];
10             if (left == right) {
11                 return i;
12             }
13             left += nums[i];
14         }
15         return -1;
16     }
17 }

运行结果如下:

运行结果

 

标签:1991,力扣,right,下标,nums,int,示例,---,middleIndex
From: https://www.cnblogs.com/allWu/p/17004802.html

相关文章

  • 【Vue.js入门到实战教程】14-基于 Laravel Jetstream 的Vue 技术栈编写表单组件
    Laravel8引入Jetstream作为前端UI库在本月8号,Laravel8.0正式发布,随后Vue3.0 也正式发布,不过围绕Vue3生态的很多库还处于beta阶段,所以目前学院君这里的Vu......
  • 分布式事务方案 - SAGA模式
    本文目的是讲清楚SAGA这种分布式事务解决方案的实现思路,不包括具体实现代码,具体实现推荐使用阿里的Seata框架。内容包括:分布式事务问题描述SAGA-Choreography策......
  • Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quicksta
     之前都是命令行创建,今天用eclipse装m2eclipse的时候装完后创建项目的时候报错:Couldnotresolvearchetypeorg.apache.maven.archetypes:maven-archetype-quickstart:REL......
  • 第八次实验--Web部署
    实验相关配置弹性云服务器ECS远程访问推荐使用MobaXterm.LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux,操作系统,openEuler就是......
  • 实验八-Web部署
    参考https://www.cnblogs.com/rocedu/p/16929895.html和附件视频,基于LAMP部署wordpress,提交自己部署过程博客1.遇到的问题和解决过程2.对实验的建议配置openEuler在......
  • CSS Flex 布局的 flex-direction 属性讲解
    flex-direction设置了主轴,从而定义了弹性项目放置在弹性容器中的方向。Flexbox是一种单向布局概念,可将弹性项目视为主要以水平行或垂直列布局。.container{flex-d......
  • 实验八-Web部署
    配置openEuler在华为云openEuler安装后,没有配置yum源,我们通过重新配置。cd/etc/yum.repos.d  增加下面内容:[OS]name=OSbaseurl=http://repo.openeuler.org/openE......
  • 每日一题-思维
    CFRound#840-C.AnotherArrayProblem描述给定一个包含\(n\)个元素的序列\(a\),可以进行以下操作任意次:选择下标\(i,j(1<=i<j<=n)\),将所有\(a_k\)替换为\(|a_i-a......
  • 《学习OpenCV3》第7章第4题-SVD奇异值分解的验算
    原文题目:中文翻译: 解题过程d.使用OpenCV编写代码/************************************************************************......
  • 20221414徐鹿鸣的实验八-Web部署
    过程与老师博客基本相同。(之前卡崩了导致没截图)遇到的问题和解决过程1.如何退出MariaDBexit2.如何退出编辑Apache的配置文件以nano开头编辑文件的,则要退出,按【Ctr......