浙大数据结构: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;
	
}
相关推荐
tudousisi22217 分钟前
P1216 [IOI 1994 / USACO1.5] 数字三角形 题解复盘
c++
cpp_25011 小时前
P1113 [USACO02FEB] 杂务
数据结构·c++·算法·动态规划·图论·拓扑排序·洛谷题解
此生决int1 小时前
深入理解C++系列(11)——stack、queue和priority_queue
开发语言·c++
Doraemomo1 小时前
数据结构-哈希表
数据结构·算法·散列表
君君思密达1 小时前
Leetcode Hot 100 题目详解-哈希表
数据结构·算法·leetcode
小徐不徐说2 小时前
VS 2022 Visual Assist 破解
c++·visualstudio·工具·插件
Doraemomo2 小时前
数据结构-双向链表与多文件工程整合之makefile基础
数据结构·链表
郝学胜-神的一滴3 小时前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
爱跳舞的烤冷面3 小时前
自学嵌入式第21天(数据结构——树)
数据结构·算法·链表
啦啦啦啦啦zzzz3 小时前
5种IO模型
运维·服务器·网络·c++