连续数组子数组最大和

来源:互联网 发布:centos终止命令 编辑:程序博客网 时间:2024/05/05 00:45

求解连续数组子数组最大和算法,时间复杂度为O(N)


#include <iostream>#define MAX_LEN 1024int main(){    int a[MAX_LEN];    int n;    scanf("%d", &n);    for (int i = 0; i < n; i++)//这种输入数组的方法        scanf("%d", &a[i]);    int max_num = a[0];    int curr_num = a[0];    for (int i = 1; i < n; i++)    {        if (curr_num > 0)        {            curr_num += a[i];        }        else        {            curr_num = a[i];        }        if (curr_num > max_num)        {            max_num = curr_num;        }    }    std::cout << max_num << std::endl;}


0 0