当前位置: 代码迷 >> 综合 >> Letcode - 寻找数组的中心索引
  详细解决方案

Letcode - 寻找数组的中心索引

热度:3   发布时间:2024-02-20 03:03:28.0

题目 - 寻找数组的中心索引


定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回 -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;}
};