金山笔试题有大佬能帮我看一下哪里错了吗

有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 &amp;&amp; m <= 1) {
            maxSum = Math.max(maxSum, sum);
            return;
        }

        if (n >= 2 &amp;&amp; m >= 1) {
            dp(n - 2, m - 1, sum + a);
        }

        if (n >= 1 &amp;&amp; m >= 2) {
            dp(n - 1, m - 2, sum + b);
        }
    }

    dp(n, m, 0); // 初始时,sum 为 0
    console.log(&quot;所可能获得的最大价值为:&quot; + maxSum);
}

不知道为什么就只过了11%
全部评论
感觉这个代码就默认执行a的选***不到b
点赞 回复 分享
发布于 2024-03-21 21:47 四川

相关推荐

02-24 17:39
门头沟学院 Java
神哥不得了:神哥来啦~专业技能的话建议不要前面空那么多,八股的话建议先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股。项目的话,建议换两个高质量的项目上去
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务