-1
我已经解决了hackerrank中的最大子阵列问题(https://www.hackerrank.com/challenges/maxsubarray)。它在代码块上运行良好。但是当我提交我的解决方案时,它在控制台中给出了不同的答案。hackerrank中的解决方案不匹配
#include<bits/stdc++.h>
using namespace std;
int main() {
int no,n,i;
cin>>no;
while(no--){
int arr[100001]={0},arr1[100001]={0};
cin>>n;
for(i=0;i<n;i++)
cin>>arr[i];
arr1[0]=arr[0];
int maxi=arr[0];
for(i=1;i<n;i++){
if(arr[i]+arr1[i-1]>arr[i]){
arr1[i]=arr[i]+arr1[i-1];
}
else{
arr1[i]=arr[i];
}
if(arr1[i]>maxi)
maxi=arr1[i];
}
cout<<maxi<<" ";
sort(arr,arr+n);
int sum=0,i=n-1;
while(arr[i]>0)
sum+=arr[i--];
if(sum==0)
sum=arr[i];
cout<<sum<<endl;
}
return 0;
}
任何人都可以提供更正解决方案吗?
分享你在本地机器和hackerrank上获得的输出 –