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编程语言。
该题考察的是数组的遍历和条件判断。
代码的文字解释如下:
- 在pivotIndex方法中,首先定义变量sum用于存储数组元素的和,初始值为0。
- 然后,获取数组的长度,将其存储在变量n中。
- 使用循环遍历数组的所有元素,并将每个元素累加到sum中。
- 定义变量cnt用于记录当前遍历位置之前的元素的和,初始值为0。
- 再次使用循环遍历数组的所有元素。
- 在循环中,首先从sum中减去当前元素的值,得到剩余元素的和。
- 判断剩余元素的和是否等于cnt,如果相等,则表示当前位置为中心索引,返回当前索引值。
- 将当前元素的值累加到cnt中,更新cnt的值。
- 如果没有找到中心索引,最后返回-1。