滴滴算法编程题求指导

子序列最大和为什么通过率90%?
餐桌问题如何求解?

子序列程序:
int Sum(vector<int> Array) {
if(Array.empty()){
return 0;
}
vector<int> dp(Array.size(), 0);
dp[0] = Array[0];
int result = dp[0];
for(int i = 1; i < Array.size(); i++){
dp[i] = max(Array[i], dp[i-1]+Array[i]);
result = max(result, dp[i]);
}
return result;
}
全部评论
你有没有写while()处理多个用例?我去掉了就好了
点赞 回复 分享
发布于 2016-09-06 21:46
这么写对于n<0的测试用例也是对的吧
点赞 回复 分享
发布于 2016-09-06 22:05
没太懂,能给讲解一下吗
点赞 回复 分享
发布于 2016-09-06 21:36
有个n <0的测试用例,虽然题目告诉我们 n>=1。。。。
点赞 回复 分享
发布于 2016-09-06 21:06
我连通过率都没有,直接显示没有通过所有测试用例。。。本地测试一切正常,,,写过n遍的程序了,简直醉了
点赞 回复 分享
发布于 2016-09-06 21:06
90%是因为如果全部为负数,应该给出最大的负数,不是0
点赞 回复 分享
发布于 2016-09-06 21:06
90%有可能是你没有限制n>0的问题
点赞 回复 分享
发布于 2016-09-06 21:04

相关推荐

不愿透露姓名的神秘牛友
今天 14:10
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务