请实现一个背包问题的变体:给定物品重量数组 weights 和价值数组 values,背包容量为 capacity,每个物品只能选择一次,求背包能装下的最大价值。请写出代码并分析时间复杂度。
考察说明
考察动态规划基础、背包问题变体的建模与代码实现能力
回答思路
- 正确识别为 0/1 背包问题变体并建立状态转移方程
- 实现二维或一维 dp 数组,正确初始化边界条件
- 能分析时间与空间复杂度,理解一维滚动数组优化
- 能处理物品数量或容量为 0 的边界情况
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。