求最大的子序列和问题

给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和。
比如:输入-2, 11, -4, 13, -5, -2; 答案是20(11,-4,13三个连续数字的和)

我们遍历一次数据序列,当每次的this_sum大于最大值的时候就更新max_sum的值。当this_sum小于0的时候,就把它置为0,再从当前位置开始计算(每次求和的结果小于0,就从下一个数据开始求和)。 还有一点要清楚,最大序列的第一个数字不可能小于0。可以看出该算法的时间复杂度是O(n);
该问题还有其它几种时间复杂度比较高的算法。具体看:数据结构与算法分析C++描述(2.3章节)

/*************************************************************************> File Name: max_seq_sum.cpp> Author: > Mail: > Created Time: 2016年01月05日 星期二 19时49分30秒************************************************************************/#include<iostream>
#include <vector>
using namespace std;void input_data(vector<int> & data)
{int tmp;cout << "输入数据序列:" << endl;while(cin >> tmp){data.push_back(tmp);}
}void output_data(vector<int> & data)
{cout << "输入的数据序列:" << endl;for (int i = 0; i < data.size(); ++i)cout << data[i] << " ";cout << endl;
}int max_seq_sum(vector<int> & data)
{int max_sum = 0, this_sum = 0;for (int i = 0; i < data.size(); ++i){this_sum += data[i];if(this_sum > max_sum)max_sum = this_sum;else if(this_sum < 0)this_sum = 0;}return max_sum;
}
int main()
{vector<int> data;//输入数据input_data(data);output_data(data);cout << "最大序列的值是: ";cout << max_seq_sum(data) << endl;return 0;
}

数据结构与算法——给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和相关推荐

  1. 蓝桥杯真题 求和 给定 n 个整数 a1· a2, · · · , an,求它们两两相乘再相加的和

    求和 问题描述 给定 n 个整数 a1, a2, · · · , an ,求它们两两相乘再相加的和,即: S=a1·a2+a1·a3+···+a1·an+a2·a3+···+an-2·an+an-1· ...

  2. 深搜:给定整数a1、a2、...an,判断是否可以从中选出若干数,使它们的和恰好为K。

    部分和问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给定整数a1.a2........an,判断是否可以从中选出若干数,使它们的和恰好为K. 输入 首先,n和k, ...

  3. 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

    题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...

  4. 给定N个加号,M个减号以及N+M+1个整数,A1+A2+...+Am+An+1,小明想知道在所有由这n个加号,M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?

    问题;给定N个加号,M个减号以及N+M+1个整数,A1+A2+-+Am+An+1,小明想知道在所有由这n个加号,M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个? 请输出这个最 ...

  5. 搜索中常见数据结构与算法探究(一)

    1 前言 ES现在已经被广泛的使用在日常的搜索中,Lucene作为它的内核值得我们深入研究,比如FST,下面就用两篇分享来介绍一些本文的主题: - 第一篇主要介绍数据结构和算法基础和分析方法,以及一些 ...

  6. 数据结构开山篇——数据结构和算法的基本概念

    绪论 文章目录 绪论 为甚要学习数据结构? 数据结构研究的内容 计算机进行数值计算的研究过程 计算机如何进行非数值运算 基本概念和术语 数据 数据元素 数据项 数据对象 数据构成 数据结构 数据类型 ...

  7. 数据结构和算法基础--线性表

    数据结构和算法基础–线性表 数据结构 = 数据的逻辑结构+数据的存储结构+数据的运算 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28ek7MfI-164242629 ...

  8. 数据结构与算法(无排版有兴趣的小伙伴可私我要原版)

    数据结构与算法 课程介绍 数据结构和算法,一个非常古老的课题. 上学的时候就觉得数据结构和算法很难学,似乎就从来没学明白过. 工作的时候,只求程序能跑,并不太关注性能,所以尽量避坑(ArrayList ...

  9. 数据结构与算法之2-3-4树

    数据结构与算法之2-3-4树 原文来自个人博客(求访问/关注/收藏): https://bbing.com.cn/ CSDN个人博客不定期转载 平衡树 [外链图片转存失败,源站可能有防盗链机制,建议将 ...

最新文章

  1. 卧槽,又来一个 Java 神器!!
  2. NYOJ 641 摧毁网络
  3. 3、Python 基础类型 -- List 列表类型
  4. python车牌识别逆光怎么办代码_这摄像头除了能逆光识别车牌,还会跟人打招呼?...
  5. 商业信息敏感、安全处理(口令、数字证书-U盾-密保卡、指纹识别-虹膜识别)...
  6. 利用Numpy提取+处理数据
  7. HDU 4381 Grid
  8. PMP题库重要吗?什么样的题库才是好的题库?
  9. RadASM配色方案工具fix
  10. 【嵌入式 · 单片机】一文带你搞懂电机驱动模块
  11. 基于wincap写抓包程序
  12. 反正不要钱,多少看一点系列:win10环境下安装Kali Linux双系统的装机经历(个人血泪史)
  13. 【云栖大会】三个物联网案例,看懂阿里巴巴为何布局最难的物联网道路
  14. 【源码】Simscape教程的模拟练习题
  15. HTML5+CSS3小实例:3D旋转木马相册
  16. 服务网格——什么是服务网格?(概念原理1)
  17. Unity 2D Spine 外发光实现思路
  18. 计算机专业郑州粮食批发市场,什么是期货呢????
  19. 防病毒Clamav使用及API调用测试
  20. 免费学python加哪个公众号_公众号正式运营啦

热门文章

  1. 基于Echarts实现可视化数据大屏销售大数据分析系统
  2. 031 | 弘文民彩▪藏族特色文化产品 | 大学生创新训练项目申请书 | 极致技术工厂
  3. BK06-部署蓝鲸智云社区版5.1-遇到的坑和解决方案
  4. TO-B类软件产品差异化
  5. java找出命题p和q的合取_从键盘输入两个命题变元P和Q的真值-求它们的合取、析取、蕴含和等价的真值.doc...
  6. 医院计算机培训ppt,计算机培训讲义.ppt
  7. 第二个MFC实例:GPA计算器
  8. Web大学生网页作业成品——抗击疫情网站设计与实现(HTML+CSS)
  9. SCIPY类库——最小二乘法应用
  10. 基于 ESP32 的高级气象站,带有 BME280 和实时天气数据