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

有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 四川

相关推荐

想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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