题目
数组中某一个下标,左右两边的元素之后相等,该下标即为中心索引
思路:先统计出整个数组的总和,然后从第一个元素开始叠加。总和递减当前元素,叠加递增当前元素,知道两个值相等
public class ArrayCenterIndex {
public static int pivotIndex(int []nums){
//计算数组之和
int sum1 = Arrays.stream(nums).sum();
int sum2=0;
sum1-=nums[0];
for(int i=0;i<nums.length-1;i++){
sum2+=nums[i];
sum1-=nums[i+1];
if (sum1==sum2){
return i+1;
}
}
return -1;
}
public static void main(String[] args) {
int [] nums={1,3,5,6,2,3,4};
int index=pivotIndex(nums);
System.out.println(index);
}
}