浙大数据结构:01-复杂度1 最大子列和问题

数据结构MOOC

PTA习题

01-复杂度1 最大子列和问题

使用在线处理,遍历数组,如果当前数组和小于0则抛弃,每次更新最大值。

我们假设最终结果为数组中间的一段,那么左边剩余的部分和右边剩余的部分和一定小于0,对答案没有贡献。

cpp 复制代码
#include <iostream>
using namespace std;

const int M=100005;
int a[M];
int main()
{
    int k;
    cin>>k;
    for(int i=0;i<k;i++ )cin>>a[i];

    int s=0,ma=0;
    for(int i=0;i<k;i++)
    {
        s+=a[i];
        ma=max(s,ma);
        if(s<0)
        {
            s=0;
        }
}
    cout<<ma;
    
	return 0;
	
}
相关推荐
kiracrimson11 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
心抵鹊13 小时前
归并排序之翻转对(hard)
数据结构·算法
_Twink1e13 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
dong_junshuai14 小时前
每天一个开源项目#87 fmt:24.5K Stars 的 C++ 格式化核心
c++·开源·github
雪的季节15 小时前
Multisim14.0的详细中文安装步骤【附安装包】
c++
Persistent的粽子!15 小时前
C++:类与对象(二)
开发语言·c++
白狐_79816 小时前
408 数据结构|红黑树插入:只记两大类
数据结构
蒸蒸yyyyzwd16 小时前
cpp 选手备战秋招学习笔记 day23
c++·求职招聘
.YM.Z16 小时前
C++ STL 容器深度剖析:vector 与 list 的模拟实现及对比
开发语言·c++·vector·list
mengzhi啊18 小时前
QEventLoop loop配合loop.exec();替代while(1)。电脑cpu占用为0,使用while(1)cpu占用率100%
c++·qt