浙大数据结构: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;
	
}
相关推荐
筱砚.10 分钟前
【STL——vector容器】
开发语言·c++
相偎43 分钟前
用观察者模式通知UI刷新数据
c++
草莓工作室1 小时前
数据结构7:栈和队列
c语言·数据结构
CoderCodingNo1 小时前
【GESP】C++四级真题 luogu-B4040 [GESP202409 四级] 黑白方块
开发语言·c++
小欣加油2 小时前
leetcode 143 重排链表
数据结构·c++·算法·leetcode·链表
Camel卡蒙2 小时前
数据结构——字典树Trie(介绍、Java实现)
java·数据结构
给大佬递杯卡布奇诺2 小时前
FFmpeg 基本API avio_open函数内部调用流程分析
c++·ffmpeg·音视频
爱吃生蚝的于勒2 小时前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
猫梦www3 小时前
力扣21:合并两个有序链表
数据结构·算法·leetcode·链表·golang·力扣
chuyanghong3 小时前
Ubuntu下VIM安装及配置
c++