浙大数据结构: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;
	
}
相关推荐
Irissgwe2 分钟前
C++ STL 详解:stack 和 queue 的介绍使用与模拟实现
c++·stl·queue·stack
nice_lcj5203 分钟前
排序(2)-选择排序专题——简单选择排序与堆排序的结构优化
数据结构·算法·排序算法
油炸自行车4 分钟前
【bug】Qt 6 Q_NAMESPACE 跨 DLL 链接错误:LNK2019 无法解析 staticMetaObject
数据库·c++·qt·bug·link2019·q_namespace_exp·namespaceexport
nice_lcj5205 分钟前
排序(4)-归并排序专题——归并排序的分治美学
java·数据结构·算法·排序算法
插件开发7 分钟前
英伟达cuda程序通用性关键 geforce 20xx代到最新版 在20xx上编译的c++程序可以通用吗?
java·c++·人工智能
BestOrNothing_201516 分钟前
ROS2 C++ 小车控制完整实战(三):自定义 srv 服务通信保姆级教程
c++·service通信·ros2·client·server·srv
无忧.芙桃21 分钟前
数据结构之栈
c语言·开发语言·数据结构
KuaCpp23 分钟前
C++进阶(上)
linux·c++
nice_lcj52029 分钟前
排序(3)-第三篇:交换排序专题——从冒泡排序到快速排序的效率飞跃
java·数据结构·算法·排序算法
草莓熊Lotso29 分钟前
【Linux网络】深入理解 TCP 协议(一):报头设计与可靠性基石
linux·运维·服务器·c语言·网络·c++·tcp/ip