题目描述
给定一个整数数组,找出这个数组中的一个“pivot (枢纽)”,条件就是数组下标在 pivot 左侧的数字之和等于数组下标在 pivot 右侧的数字之和,如果不存在,返回 -1。
Example 1:
Input:nums = [1, 7, 3, 6, 5, 6]
Output:3
Note:
The length of nums will be in the range [0, 10000].
Each element nums[i] will be an integer in the range [-1000, 1000].
参考代码
class Solution {
public int pivotIndex(int[] nums) {
int sum = 0;
for (int num : nums) {
sum += num;
}
int left = 0;
int right = sum;
for (int i = 0; i < nums.length; i++) {
right -= nums[i];
if (left == right) {
return i;
}
left += nums[i];
}
return -1;
}
}
总结
这是LeetCode Explore 数组系列的第一道题,仔细审题就可,左侧数字之和left = right - left - nums[i]
,这样就可以解出此题。