浙大数据结构: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;
	
}
相关推荐
Lsk_Smion4 小时前
力扣实训 _ [102].层序遍历--前序--后续_递归与非递归的实现
数据结构·算法·leetcode
Lsk_Smion5 小时前
力扣实训 _ [25].K个一组链表
数据结构·链表
小欣加油6 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商6 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
玖玥拾6 小时前
C/C++ 基础笔记(七)
c语言·c++
珊瑚里的鱼7 小时前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
V搜xhliang02468 小时前
临床科研新范式:从选题到投稿,AI智能体如何接管全流程?
运维·数据结构·人工智能·算法·microsoft·数据挖掘·自动化
zh路西法8 小时前
【Linux 串口通信】基于 C++ 多线程的同步/异步串口实现
linux·运维·c++·python
不会C语言的男孩8 小时前
C++ Primer 第12章:动态内存
开发语言·c++
thisiszdy8 小时前
<C++> 浅拷贝与深拷贝
c++