请实现零钱兑换问题(LeetCode 322):给定不同面额的硬币和一个总金额,计算凑成总金额所需的最少硬币数量。若无任何组合能凑成该金额,返回 -1。
考察说明
考察动态规划状态定义与转移方程的编写与边界处理
回答思路
- 正确定义 dp 数组及含义(如 dp[i] 表示凑成金额 i 的最少硬币数)
- 初始化和状态转移方程的正确性
- 处理无法凑成的情况并返回 -1
- 考虑复杂度并说明时间空间复杂度
- 能写出基准测试或边界用例(金额为 0、硬币面额大于金额等)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。