您的位置:首页 > 其它

hdu1003简单DP(自己测试很多数据都是对的,怎么还是wrong answer 先贴着吧)

2019-04-16 11:09 134 查看

(之前刷过Leecode53<最大子序和>很相似,所以想用在这题上)Leecode代码以及链接https://leetcode-cn.com/problems/maximum-subarray/submissions/

[code]class Solution {
public:
int maxSubArray(vector<int>& nums) {

int sum=nums[0],n=nums[0];
for(int i=1;i<nums.size();i++){
if(n>=0) n+=nums[i];
else n=nums[i];
if(sum<n)  sum=n;

}
return sum;
}

};

下面是HDU1003代码  http://acm.hdu.edu.cn/showproblem.php?pid=1003

[code]#include<iostream>
#include<queue>
#include<bits/stdc++.h>
using namespace std;
#define M 100010
int num[M];

int main()
{
int N,m;
int s,end;
int cou=1;
scanf("%d",&N);
while(N--)
{
memset(num,0,sizeof(num));
scanf("%d",&m);
for(int i=0;i<m;++i)
{
scanf("%d",&num[i]);
}
int n=num[0];
int sum=num[0];
s=1;
end=1;
for(int i=1;i<m;i++){
if(n>=0)  {
n+=num[i];
// end++;
}
else {
n=num[i];
s=i+1;
//e=i;
}
if(sum<n) {
sum=n;
end=i+1;
}
}
if(s>end)  s=end;
// printf("$%d",len);
printf("Case %d:\n%d %d %d",cou++,sum,s,end);
//printf("###%d###",N);
if(N!= 0)  printf("\n\n");
}

return 0;
}

 

hdu1003上包括Discuss的测试数据都过了  submit依然是WA 如果哪位大lao告诉我 一个我的程序跑不过的测试数据 会十分感谢

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐