前缀和——中心数组下标

此题我们不应局限于前缀和的模板,因为该中心下标把数组分为两个部分且每个部分都要求和,我们就一个再创建一个"后缀和"

定义两个数组f,g。f[i]表示[0,i-1]所有元素的和 f[i]=f[i-1]+nums[i-1];g[i]表示[i+1,n-1]的和

g[i]=g[i+1]+nums[i+1];因为依靠关系,f要从左到右,g要从右到左。

注意题干中的边界条件,0和n-1位置出的左、右是0,因此不要越界。

cpp 复制代码
int Solution(vector<int> nums)
{
    
   int n=nums.size();
 vector<int> f(n),g(n);
   //0,n-1的位置已经初始化为0
  for(int i=1;i<n;i++)
        f[i]=f[i-1]+nums[i-1];
   for(int i=n-2;i>=0;i--)
        g[i]=g[i+1]+nums[i+1];
    
  for(int i=0;i<n;i++)
   if(f[i]==g[i])
        return i;

  return -1;

}
相关推荐
Boop_wu8 分钟前
[数据结构] LinkedList
数据结构
兴科Sinco19 分钟前
[leetcode 1]给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数[力扣]
python·算法·leetcode
沐怡旸21 分钟前
【算法--链表】138.随机链表的复制--通俗讲解
算法·面试
anlogic27 分钟前
Java基础 9.10
java·开发语言·算法
薛定谔的算法29 分钟前
JavaScript单链表实现详解:从基础到实践
数据结构·算法·leetcode
CoovallyAIHub38 分钟前
CostFilter-AD:用“匹配代价过滤”刷新工业质检异常检测新高度! (附论文和源码)
深度学习·算法·计算机视觉
幻奏岚音39 分钟前
《数据库系统概论》第一章 初识数据库
数据库·算法·oracle
你好,我叫C小白40 分钟前
贪心算法(最优装载问题)
算法·贪心算法·最优装载问题
CoovallyAIHub1 小时前
CVPR 2025 | 频率动态卷积(FDConv):以固定参数预算实现频率域自适应,显著提升视觉任务性能
深度学习·算法·计算机视觉
mit6.8241 小时前
[rStar] 解决方案节点 | `BaseNode` | `MCTSNode`
人工智能·python·算法