请实现零钱兑换问题的解法:给定硬币面额数组 coins 和目标金额 amount,求凑成该金额所需的最少硬币数,若无法凑出则返回 -1。
考察说明
考察动态规划建模与边界处理能力
回答思路
- 正确识别为完全背包动态规划问题
- 能够写出状态转移方程 dp[i]=min(dp[i],dp[i-coin]+1)
- 正确处理无法凑出的情况并返回 -1
- 能够分析时间复杂度 O(amount*n) 和空间复杂度 O(amount)
- 边界条件如 amount=0 返回 0,硬币数组为空时处理正确
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。