浙大数据结构: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;
	
}
相关推荐
小菜鸡桃蛋狗4 分钟前
C++——list
开发语言·c++
handler016 分钟前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
fish_xk8 分钟前
c++中的多态
c++
汉克老师10 分钟前
GESP2025年6月认证C++五级( 第三部分编程题(1、奖品兑换))
c++·二分算法·gesp5级·gesp五级
Lhan.zzZ17 分钟前
笔记_2026.4.28_003
c++·笔记·qt·opencv
stolentime27 分钟前
我常常追忆过去
c++·里程碑纪念
fengenrong36 分钟前
20260429
c++·算法
千寻girling44 分钟前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
故事还在继续吗1 小时前
C++多线程与多进程编程
开发语言·c++
晓py1 小时前
highpool测试报告
c++