拿下技术面上传简历

0/1 背包:容量 W = 10,物品 A(重 6、价值 7)、B(重 5、价值 5)、C(重 5、价值 5)。(1) 按“价值/重量”从大到小贪心装,会得到什么解?最优解的目标值是多少?这说明什么?(2) 写出用 DP 求解的状态定义和转移方程,以及时间、空间复杂度。(3) 如果把二维 DP 压成一维数组,遍历容量时应该正序还是逆序,为什么?

强化学习与运筹优化求解与启发式校招知识点 1 个

面试官在考什么

是否真的自己写过 0/1 背包 DP:状态与转移写不写得出、一维压缩的正逆序理由说不得清、伪多项式复杂度是否有概念。

动态规划

回答框架 · 前两步

  1. 贪心按性价比:A 是 7/6 ≈ 1.17,B、C 各 1.0,先拿 A,剩容量 4 装不下 B/C,得价值 7;最优是 B + C = 10。说明 0/1 背包不满足贪心选择性质(不能切分物品填满余量)。
  2. 状态 f[i][w] = 前 i 件物品、容量上限 w 时的最大价值;转移 f[i][w] = max(f[i-1][w], f[i-1][w - w_i] + v_i)(w ≥ w_i),边界 f[0][·] = 0。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题