返回信息流在牛客网上看到的…… 感觉没问题了总是提示只通过50%。。。有没有大神知道哪里出了问题
代码在这里……
var n;
while(n=parseInt(readline())){
var marr = readline().split(' ');
print(backpack(marr, n)*1024);
}
function backpack(arr, n) {
var sum = 0;
for(var i=0; i < n; i++) {
arr[i] = parseInt(arr[i]) >> 10;
sum += arr[i];
}
var res=[], halfSum=Math.ceil(sum/2);
for(var i=0; i<=n; i++){
res[i] = [];
for(var s=0; s<=halfSum; s++){
if(i ===0 || s===0){
res[i][s] =0;
}else if(arr[i-1] <= s){
res[i][s] = Math.max(res[i-1][s], res[i-1][s-arr[i-1]]+arr[i-1]);
} else {
res[i][s] = res[i-1][s];
}
}
}
return Math.max(res[n][halfSum], sum - res[n][halfSum]);
}
习题链接:
https://www.nowcoder.com/questionTerminal/9ba85699e2824bc29166c92561da77fa?toCommentId=576713
提前谢谢大佬们
这是一条镜像帖。来源:北邮人论坛 / java-script / #2426同步于 2017/7/19
JavaScript机器人发帖
一道笔试题…
Yooci
2017/7/19镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。