-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上獲得的輸出 –