「每日LeetCode」2021年9月8日
本文最后更新于:2023年3月19日 晚上
Lt1991. 找到数组的中间位置
1991. 找到数组的中间位置
给你一个下标从 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:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
示例 4:
1 |
|
提示:
1 <= nums.length <= 100
-1000 <= nums[i] <= 1000
思路
前缀和,先遍历一次数组记录数组求和结果。再遍历一次数组,比较当前数之前的和和当前数之后的和(总和减去当前数减去当前数之前的和),如果相同返回下标。
解答
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!