浙大数据结构: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;
	
}
相关推荐
All for pursuit.12 分钟前
【动态规划-21】312.戳气球
数据结构·c++·算法·leetcode·动态规划
栈帧之外25 分钟前
【C++】STL之set
开发语言·c++
zhanghaha13141 小时前
C++构造函数的一些其他应用(逐词逐句保姆讲解)
c++
jimy12 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
YSL0701244 小时前
贪吃蛇小游戏---古法编程
数据结构·游戏程序
y1su4 小时前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划
半杯咖啡半行码4 小时前
C++11核心特性详解:从C++11到C++20 的现代C++指南
开发语言·c++
All for pursuit.5 小时前
【位运算-3】136.只出现一次的数字
数据结构·c++·算法·leetcode
suhan6 小时前
【数据结构】五、树:7.哈夫曼树、哈夫曼编码
数据结构·算法·排序算法
suhan6 小时前
【数据结构】五、树:6.平衡二叉树AVL
数据结构·算法·排序算法