[数组基础] 0724. 寻找数组的中心下标
文章目录
- 1. 题目链接
- 2. 题目大意
- 3. 示例
- 4. 解题思路
- 5. 参考代码
1. 题目链接
724. 寻找数组的中心下标 - 力扣(LeetCode)
2. 题目大意
描述:给定一个数组 nums。
要求:找到「左侧元素和」与「右侧元素和相等」的位置,若找不到,则返回 −1。
说明:
- 1≤nums.length≤104。
- −1000≤nums[i]≤1000。
3. 示例
输入: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
解释:
数组中不存在满足此条件的中心下标。
4. 解题思路
第一次遍历先求出数组全部元素和。
第二次遍历找到左侧元素和恰好为全部元素和一半的位置。
5. 参考代码
class Solution {public int pivotIndex(int[] nums) {int s=0;for(int num : nums) s += num;int leftSum=0;for(int i =0; i < nums.length; i++){if(leftSum*2 == s-nums[i]){return i;}leftSum += nums[i];}return -1;}
}