浙大数据结构: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;
	
}
相关推荐
xxwxx__19 分钟前
深入理解 C++ 继承:从基础语法到底层原理全解析
c++
Felven21 分钟前
B. Deja Vu
数据结构·算法
键盘会跳舞23 分钟前
【C++多线程】多线程性能调优:伪共享、缓存行对齐与吞吐优化
c++·多线程·多线程调优
不会就选b39 分钟前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
ysu_031440 分钟前
03-双链表与循环链表
c语言·数据结构·链表
学习星球42 分钟前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul
OPEN-F42 分钟前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python
暖焰核心44 分钟前
迭代器与模板的结合——stl的list
c++·windows·list
j7~1 小时前
【C++】C++的IO流--详解
c++·c++io流·c++流的概念·stringstream的介绍·c语言的输入与输出
zh_xuan2 小时前
c++ string_view
开发语言·c++