import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int pivotIndex (int[] nums) {
        // write code here
        int sum = 0;
        int n = nums.length;
        for (int i = 0; i < n; ++i)
            sum += nums[i];
        int cnt = 0;
        for (int i = 0; i < n; ++i) {
            sum -= nums[i];
            if (sum == cnt) return i;
            cnt += nums[i];
        }
        return -1;
    }
}

Java编程语言。

该题考察的是数组的遍历和条件判断。

代码的文字解释如下:

  1. 在pivotIndex方法中,首先定义变量sum用于存储数组元素的和,初始值为0。
  2. 然后,获取数组的长度,将其存储在变量n中。
  3. 使用循环遍历数组的所有元素,并将每个元素累加到sum中。
  4. 定义变量cnt用于记录当前遍历位置之前的元素的和,初始值为0。
  5. 再次使用循环遍历数组的所有元素。
  6. 在循环中,首先从sum中减去当前元素的值,得到剩余元素的和。
  7. 判断剩余元素的和是否等于cnt,如果相等,则表示当前位置为中心索引,返回当前索引值。
  8. 将当前元素的值累加到cnt中,更新cnt的值。
  9. 如果没有找到中心索引,最后返回-1。