浙大数据结构: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;
	
}
相关推荐
故事和你9114 分钟前
洛谷-算法2-1-前缀和、差分与离散化1
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
handler018 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
阿豪学编程9 小时前
面试题map/unordered相关
数据结构
武藤一雄9 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
梦想的颜色10 小时前
mongoTemplate + Java 增删改查基础介绍
数据结构·数据库·mysql
我头发多我先学10 小时前
C++ 模板全解:从泛型编程初阶到特化、分离编译进阶
java·开发语言·c++
星星码️10 小时前
C++选择题练习(一)
开发语言·c++
叶小鸡12 小时前
小鸡玩算法-力扣HOT100-堆
数据结构·算法·leetcode
小苗卷不动13 小时前
OJ练习之疯狂的自我检索者(简单)
c++
LUVK_13 小时前
第七章查找
数据结构·c++·考研·算法·408