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