寻找数组的中心下标
给定一个整数nums,请编写一个能够返回数组“中心下标”的方法
中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心下标,返回-1.如果数组右多个中心下标,应该返回最靠近左边的那一个。
注意:中心下标可能出现在数组的两端
public static void main(String[] args) {System.out.println(pivotIndex(new int[]{1,7,3,6,5,6}));}public static int pivotIndex(int[] nums){//先求数组的和int sum= Arrays.stream(nums).sum();//累加存储容器int total=0;for (int i = 0; i < nums.length; i++) {//将数组从第一个元素累加起来total+=nums[i];//如果累加的值等于求和的值,那么就是中心下标if (total==sum){//返回下标return i;}//如果不等,就让数组求和减去当前数组值(累减)sum=sum-nums[i];}//找不到,返回-1return -1;}