/**
* 中心索引:数组的中心索引,左侧所有元素之和等于右侧所有元素之和。如果存在多个中心索引,则返回靠左的那个。
*/
public class Demo {
/**
* 方法:前缀和,即判断当i时,(总和 - i左侧元素之和 - i == i左侧元素之和)即可
*/
public int pivotIndex(int[] nums) {
int sum = 0, leftSum = 0;
for (int num : nums) {
sum += num;
}
for (int i = 0; i < nums.length; i++) {
if (leftSum == sum - nums[i] - leftSum) return i;
leftSum += nums[i];
}
return -1;
}
@Test
public void test() {
System.out.println(pivotIndex(new int[]{1, 7, 3, 6, 5, 6}));
}
}