浙大数据结构: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;
	
}
相关推荐
wuqingshun31415911 分钟前
经典算法 约数之和
数据结构·c++·算法·蓝桥杯
溟洵12 分钟前
【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)
c语言·c++·算法
十五年专注C++开发1 小时前
QT 中的元对象系统(五):QMetaObject::invokeMethod的使用和实现原理
开发语言·数据结构·c++·qt·设计模式
熬夜学编程的小王1 小时前
【C++初阶篇】C++中c_str函数的全面解析
c语言·c++·c_str
一线灵1 小时前
跨平台游戏引擎 axmol-2.5.0 发布
c++·游戏引擎·wasm·axmol
渴望脱下狼皮的羊1 小时前
C++基础讲解
开发语言·c++·后端
柏木乃一3 小时前
双向链表增删改查的模拟实现
开发语言·数据结构·算法·链表
同勉共进6 小时前
虚函数表里有什么?(二)——普通单继承下的虚函数表
c++·单继承·虚函数表·dynamic_cast·rtii
永恒迷星.by8 小时前
文件操作(c语言)
c语言·c++·算法·文件操作
Zhichao_9710 小时前
【UE5 C++课程系列笔记】32——读Json文件并解析
c++·ue5