浙大数据结构: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;
	
}
相关推荐
忡黑梨6 分钟前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
求学的小高44 分钟前
数据结构Day10(ASL、二分查找、分块查找)
数据结构·笔记·考研
我能坚持多久44 分钟前
C++的Vector学习:从功能探索到底层实现
开发语言·c++·学习
凤凰院凶涛QAQ1 小时前
《C++转java快速入手系列》类与对象篇
java·开发语言·c++
张健11564096481 小时前
std::ranges、std::views和懒加载
开发语言·c++
瞎折腾啥啊1 小时前
现代 CMake 目标系统
c++·cmake·cmakelists
盐焗鹌鹑蛋1 小时前
【C++】list类
c++
minji...1 小时前
Linux 网络套接字编程(六)TCP的通信是全双工的,自定义协议的定制,序列化和反序列化
linux·运维·服务器·网络·c++
ximu_polaris1 小时前
设计模式(C++)-行为型模式-策略模式
c++·设计模式·策略模式
算法鑫探1 小时前
算法与数据结构 以及算法复杂度
c语言·数据结构·算法·新人首发