数组平衡点问题

简介: 题目: 找数组平衡点问题: 给定一个整数数组P,A[0..N - 1] ,平衡点定义为整数P,  满足 A[0] + A[1] +...+A[P - 1] = A[P + 1] + A[P + 2] + ... + A[N - 1] 注意不包含P元素。

题目:

找数组平衡点问题:

给定一个整数数组P,A[0..N - 1] ,平衡点定义为整数P,  满足

A[0] + A[1] +...+A[P - 1] = A[P + 1] + A[P + 2] + ... + A[N - 1]

注意不包含P元素。

输出任何一个平衡点,如果没有,则输出-1。

如果P == 0 等号左边是0,P == N - 1等号右边是0.

N是10^7的范围,每个数组元素是-2147483648..2147483647

要求复杂度: 时间复杂度O(N),空间复杂度O(1)


解答:这个题目比较容易。其实就是记录下全部数组元素的和sum(用long long),然后试图枚举P, 顺便记录  left = A[0] +...+A[P - 1]

判断left == sum - left - A[P]即可。

[cpp]  view plain copy
  1. // you can also use includes, for example:  
  2. // #include <algorithm>  
  3. int solution(const vector<int> &A) {  
  4.     // write your code here...  
  5.     int n = A.size(),i;  
  6.     long long sum = 0, left = 0;  
  7.     for (i = 0; i < n; ++i) {  
  8.         sum += A[i];  
  9.     }  
  10.     for (i = 0; i < n; ++i) {  
  11.         if (left == sum - A[i] - left) {  
  12.             return i;  
  13.         }  
  14.         left += A[i];  
  15.     }  
  16.     return -1;  
  17. }  
目录
相关文章
|
大数据
阿里云EMR到底是什么?一图带你深入了解!
阿里云开源大数据平台E-MapReduce是运行在阿里云平台上的一种大数据处理的系统解决方案,那么它到底有着怎样的功能及优势呢?一起来看看吧!
3874 0
阿里云EMR到底是什么?一图带你深入了解!
|
3月前
|
人工智能 自然语言处理 搜索推荐
从理论到应用:AI搜索MCP的最佳实践案例解析
本文深入探讨了如何通过 MCP 协议让大语言模型(LLM)高效调用外部工具,并结合多个实际场景展示了 MCP 在 AI 应用中的价值和未来潜力。
|
数据采集 监控 算法
如何让谷歌收录网站
答案是:谷歌快速收录网站可以通过GPC爬虫池技术完成。
352 0
|
2月前
|
人工智能 监控 数据可视化
基于YOLOv8的无人机位置捕捉识别项目|完整源码数据集
本项目基于YOLOv8构建无人机目标检测系统,集成PyQt5图形界面,支持图像、视频、摄像头等多种输入方式,具备高精度识别与实时检测能力,适用于安防监控、目标跟踪等场景。含完整训练代码、数据集及部署教程,开箱即用,适合AI学习与工程实践。
基于YOLOv8的无人机位置捕捉识别项目|完整源码数据集
|
11月前
|
机器学习/深度学习 编解码 异构计算
4090笔记本0.37秒直出大片!英伟达联手MIT清华祭出Sana架构,速度秒杀FLUX
英伟达、麻省理工学院与清华大学联合发布Sana,一款高效文本到图像生成框架。Sana通过深度压缩自编码器和线性注意力机制,实现快速高分辨率图像生成,生成1024×1024图像仅需不到1秒。此外,Sana采用解码器专用文本编码器增强文本与图像对齐度,大幅提高生成质量和效率。相比现有模型,Sana体积更小、速度更快,适用于多种设备。
228 7
|
8月前
|
运维 并行计算 数据处理
量子计算的基本原理与传统计算的区别
量子计算的基本原理与传统计算的区别
397 5
|
Java BI 数据安全/隐私保护
FineReport帆软设计器,远程连接服务器
FineReport帆软设计器,远程连接服务器
860 0
|
缓存 JavaScript 前端开发
服务器反应慢如何解决?
通常来说,访问者会在最初的几秒钟内决定是留在您的网站还是离开。如果页面加载时间超过五秒,访问者离开的可能性就会增加 90%。所以,作为站长们,必须减少服务器响应时间,以确保其网站加载速度更快。以下是减少网站服务器响应时间的几种简单方式。
340 19
|
机器学习/深度学习 人工智能 自然语言处理
【AI智能助手】与人类互动的下一代人工智能技术
【AI智能助手】与人类互动的下一代人工智能技术
2745 0
|
算法 JavaScript
「AIGC算法」将word文档转换为纯文本
使用Node.js模块`mammoth`和`html-to-text`,该代码示例演示了如何将Word文档(.docx格式)转换为纯文本以适应AIGC的文本识别。流程包括将Word文档转化为HTML,然后进一步转换为纯文本,进行格式调整,并输出到控制台。转换过程中考虑了错误处理。提供的代码片段展示了具体的实现细节,包括关键库的导入和转换函数的调用。
304 0