寻找数组的中心索引
1.数组中某一个下标,左右两边元素之和相等,该下标为中心下标
//先统计出整个数组的总和,然后从第一个数开始叠加
//总和递减见面的元素,前面的元素递增,返回它们的中间元素
public static int mid(int[] nums ) {
int sum1=0;
int sum2=0;
for(int i=0;i<nums.length;i++) {
sum1+=nums[i];//先统计出整个数组的总和,
}
for(int i=0;i<nums.length;i++) {
sum1=sum1-nums[i];//当中心元素为第一个值时,应该减去该值
if(sum2==sum1) {
return i;//判断他们是否相等,相等则返回该下标
}
sum2+=nums[i];//为下一轮循环做准备
}
return -1;//没有找到则返回-1;
}