题目 - 寻找数组的中心索引
定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。
如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。
解题思路:
(左边数之和) * 2 + 中间数 = 所有数之和
实现代码:
class Solution {
public:int pivotIndex(vector<int>& nums) {
int size = nums.size();int left_sum = 0;int sum = 0;// 思路:左边之和 * 2 + 中间数 = 所有数之和 for(int i = 0; i < size; i++)sum += nums[i];for(int j = 0; j < size; j++) {
if(left_sum * 2 + nums[j] == sum)return j;left_sum += nums[j];}return -1;}
};