算法 【总和拆分 + 双变量遍历】LCR_012_寻找数组的中心下标 求解代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 public int pivotIndex(int[] nums) { int leftSum = 0; int rightSum = 0; // 遍历数组,把所有元素的和存入 rightSum, // 此时 rightSum 是 “整个数组的和” for (int num : nums) { rightSum += num; } for (int i = 0; i < nums.length; i++) { // 从总和中减去当前元素,rightSum 变为“下标i右侧所有元素的和” rightSum -= nums[i]; // 判断“右侧和”是否等于“左侧和”,相等则当前i就是中心下标 if (rightSum == leftSum) { return i; } // 将当前元素加入左侧和,为下一个下标的判断做准备 leftSum += nums[i]; } return -1; }