精简版,没有输出下标。

在原基础上加上回溯和两个标记,还没进一步测试。

#include<iostream>
using namespace std;

void main()
{
    int i,j=0,k=0,n=5;
    int a[100];
    int temp=0,sum=0;
    
    for(i=0;i<n;i++)
        cin>>a[i];
    
    for(i=0;i<n;i++)
    {
        if(temp>0)
        {
            temp+=a[i];
        }
        else 
        {
            temp=a[i];
            if(a[i]>0 && k==0) k=i;
        }
        if(temp>sum)
        {
            sum=temp;
        }
        if(i==n-1 && j==0) 
        {
            i=-1;
            j=1;
            n=k;
        }
    }
    cout<<sum<<endl;
}

一维数组中的最大子数组(环状)

相关文章:

  • 2022-02-17
  • 2021-11-20
  • 2021-09-03
  • 2021-05-22
  • 2021-06-15
  • 2022-02-18
  • 2021-09-27
猜你喜欢
  • 2022-01-03
  • 2021-08-06
  • 2021-08-24
  • 2021-11-04
  • 2021-11-17
  • 2021-11-01
相关资源
相似解决方案