zoukankan      html  css  js  c++  java
  • 返回一个整数数组中最大子数组的和

    思路:以每个数组下标为末尾形成最大连续子数组,判断前一个连续数组和是否大于0,大于就可以加上该数构成一个更大的连续子数组;否则,自己组成一个连续数组。最后,利用max()函数找出最大值。

    #include<iostream>
    #include<cstdio>using namespace std;
    const int N=100000;
    int main()
    {
        int i,j,k;
        int a[N];
        int sum[N];
        int n;
        printf("你要输入几个数:
    ");
        cin>>n;
        for(i=1;i<=n;i++)
            cin>>a[i];
        sum[1]=a[1];
        int maxn=sum[1];
        for(i=2;i<=n;i++)
        {
            if(sum[i-1]>0)
                sum[i]=a[i]+sum[i-1];
            else
                sum[i]=a[i];
            maxn=max(maxn,sum[i]);
        }
        cout<<maxn<<endl;
        return 0;
    }
  • 相关阅读:
    git取消文件跟踪
    servlet
    查杀端口进程
    初始化git仓库,并push到远端
    tomcat
    bootstrap
    idea中web工程错误
    i++和++i
    js算法
    编程工具
  • 原文地址:https://www.cnblogs.com/weixiao1717/p/13082555.html
Copyright © 2011-2022 走看看