金山笔试题有大佬能帮我看一下哪里错了吗
有n个苹果,m个桃子,可以把2个苹果和1个桃子组成a元大礼包,也可以把1个苹果和2个桃子组成b元大礼包,求所可能获得的最大价值
function lianxi(n, m, a, b) {
let maxSum = 0; // 最大价值
function dp(n, m, sum) {
if (n <= 1 && m <= 1) {
maxSum = Math.max(maxSum, sum);
return;
}
if (n >= 2 && m >= 1) {
dp(n - 2, m - 1, sum + a);
}
if (n >= 1 && m >= 2) {
dp(n - 1, m - 2, sum + b);
}
}
dp(n, m, 0); // 初始时,sum 为 0
console.log("所可能获得的最大价值为:" + maxSum);
}
不知道为什么就只过了11%
function lianxi(n, m, a, b) {
let maxSum = 0; // 最大价值
function dp(n, m, sum) {
if (n <= 1 && m <= 1) {
maxSum = Math.max(maxSum, sum);
return;
}
if (n >= 2 && m >= 1) {
dp(n - 2, m - 1, sum + a);
}
if (n >= 1 && m >= 2) {
dp(n - 1, m - 2, sum + b);
}
}
dp(n, m, 0); // 初始时,sum 为 0
console.log("所可能获得的最大价值为:" + maxSum);
}
不知道为什么就只过了11%
全部评论
感觉这个代码就默认执行a的选***不到b
相关推荐
查看29道真题和解析
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享