浙大数据结构: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;
	
}
相关推荐
Z1Jxxx2 小时前
01序列01序列
开发语言·c++·算法
坚定学代码2 小时前
基于观察者模式的ISO C++信号槽实现
开发语言·c++·观察者模式·ai
ha20428941943 小时前
Linux操作系统学习记录之---TcpSocket
linux·网络·c++·学习
Doro再努力3 小时前
【数据结构08】队列实现及练习
数据结构·算法
AI视觉网奇4 小时前
ue5 插件 WebSocket
c++·ue5
左直拳4 小时前
将c++程序部署到docker
开发语言·c++·docker
恒者走天下5 小时前
AI智能体通讯项目(底层AI通讯协议实现)
c++
英雄各有见5 小时前
Chapter 5.1.1: 编写你的第一个GPU kernel——Cuda Basics
c++·gpu·cuda·hpc
梵尔纳多5 小时前
OpenGL着色器语言(GLSL)
c++·opengl·着色器
net3m335 小时前
单片机屏幕多级菜单系统之当前屏幕号+屏幕菜单当前深度 机制
c语言·c++·算法