解题思路:
双指针算法,循环数组,total(初始为0)从当前元素累加,sum(数组之和)如果不等于total,减去当前元素,继续循环。
代码:
import java.util.Arrays;
public class ArrayCenterIndex {
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();
//定义一个total 记录当前和
int total = 0;
for(int i=0;i<nums.length;i++){
total+=nums[i];
if(total==sum){
return i;
}
sum=sum-nums[i];
}
return -1;
}
}