浙大数据结构: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;
	
}
相关推荐
t***5445 小时前
Clang 编译器在 Orwell Dev-C++ 中的局限性
开发语言·c++
Sam_Deep_Thinking6 小时前
学数据结构到底有什么用
数据结构
yolo_guo7 小时前
redis++使用: hmset 与 hmget
c++·redis
handler017 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
t***5448 小时前
如何在Dev-C++中选择Clang编译器
开发语言·c++
汉克老师9 小时前
GESP2023年9月认证C++三级( 第一部分选择题(9-15))
c++·gesp三级·gesp3级
py有趣9 小时前
力扣热门100题之和为K的子数组
数据结构·算法·leetcode
hipolymers10 小时前
C语言怎么样?难学吗?
c语言·数据结构·学习·算法·编程
CS创新实验室10 小时前
从“跑得动”到“跑得稳”:深度剖析数据结构究竟是理论点缀还是核心战力?
数据结构
jllllyuz11 小时前
MATLAB 蒙特卡洛排队等待模拟程序
数据结构·matlab