浙大数据结构: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;
	
}
相关推荐
ChoSeitaku2 小时前
NO15数据结构选择题考点|线性表|栈和队列|串
数据结构
hetao17338373 小时前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
椰子今天很可爱3 小时前
五种I/O模型与多路转接
linux·c语言·c++
一直都在5723 小时前
数据结构入门:时间复杂度与排序和查找
数据结构
程序员zgh3 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
sin_hielo5 小时前
leetcode 2110
数据结构·算法·leetcode
panzer_maus5 小时前
归并排序的简单介绍
java·数据结构·算法
獭.獭.5 小时前
C++ -- STL【unordered_set和unordered_map的使用】
c++·stl·unordered_map·unordered_set
摆烂且佛系6 小时前
B+树的“页分裂“机制
数据结构·b树
star _chen6 小时前
C++ std::move()详解:从小白到高手
开发语言·c++