最大子数组和
Posted 木樨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最大子数组和相关的知识,希望对你有一定的参考价值。
题目描述
给定一个数组a[0,...,n-1],求其最大子数组(长度>=1)和
输入描述
第一行一个整数n(1<=n<=5000),然后依次输入n个整数(每个整数范围[-5000, 5000])
输出描述
输出一个整数表示最大子数组和
样例输入
5 1 -1 1 1 -1
样例输出
2
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n = 0;
do{
cin>>n;
}while(n<1||n>5000);
vector<int>arr(n);
for(int i=0;i<n;i++){
do{
cin>>arr[i];
}while(arr[i]<-5000||arr[i]>5000);
}
int sum=0;
int max=0;
for(int i=0;i<arr.size();i++){
sum = 0;
for(int j=i;j<arr.size();j++){
sum+=arr[j];
if(sum>max)
max=sum;
}
}
cout<<max<<endl;
return 0;
}
以上是关于最大子数组和的主要内容,如果未能解决你的问题,请参考以下文章