题解 | 子数组绝对值的最大值
子数组绝对值的最大值
https://www.nowcoder.com/practice/200e7c7ad80741428c35119098aa39d1
#include <iostream>
#include<vector>
using namespace std;
int main() {
int n;
cin>>n;
vector<int>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
int minsum=a[0],currmin=a[0];
int maxsum=a[0],currmax=a[0];
for(int i=1;i<n;i++){
currmin=min(a[i],currmin+a[i]);
currmax=max(a[i],currmax+a[i]);
minsum=min(minsum,currmin);
maxsum=max(maxsum,currmax);
}
cout<<max(abs(maxsum),abs(minsum))<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")
海康威视公司福利 1407人发布

