浙大数据结构: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;
	
}
相关推荐
不会就选b5 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
quaer11 小时前
弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
数据结构·算法
丰色木夕12 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
xys_67815 小时前
深挖数据结构:树和二叉树(上)
数据结构·算法
BeiGuTing_code15 小时前
Java动态数组(一)
java·数据结构·windows
衍玊15 小时前
多路转接原理与应用
c++
himobrinehacken16 小时前
位运算揭秘:左右移与符号位陷阱
c语言·c++·算法·安全
Code_Solitude19 小时前
传智杯备赛代码整理(前4题)
数据结构·算法
Jasmine_llq19 小时前
《P8816 [CSP-J 2022] 上升点列》
数据结构·算法·贪心·排序·二维动态规划 dp·类背包状态转移
Android小码家19 小时前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle