寻找数组的中心下标 --- 前缀和

目录

一:题目

二:算法原理

三:代码实现


一:题目

寻找数组的中心下标 --- 前缀和_第1张图片

题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode)

二:算法原理

寻找数组的中心下标 --- 前缀和_第2张图片

三:代码实现

class Solution {
public:
    int pivotIndex(vector& nums) 
    {
        int len = nums.size();

        //前缀和
        vector f(len);
        for(int i = 1; i < len;i++)
        {
            f[i] = f[i-1] + nums[i-1];
        }

        //后缀和
        vector g(len);
        for(int i = len-2;i >= 0; i--)
        {
            g[i] = g[i+1] + nums[i+1]; 
        }

        //使用
        for(int i = 0; i < len; i++)
        {
            if(f[i] == g[i])
                return i;
        }

        return -1;
    }
};

你可能感兴趣的:(算法题目,算法,leetcode,数据结构,1024程序员节,c++)