字节跳动面试题更新 2026-08-05

给定不同面额的硬币 coins 和一个总金额 amount,编写一个函数计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。例如,coins = [1, 2, 5], amount = 11,最少需要 3 枚硬币(5+5+1)。请描述你的解题思路并实现代码。

字节跳动人工智能互联网/IT编码实现问题拆解技术原理

考察说明

考察动态规划求解最值问题的建模能力与边界处理

回答思路

  1. 正确识别为完全背包最小化问题并定义 dp 数组含义
  2. 给出状态转移方程和初始化细节
  3. 正确处理无法凑成的情况(返回 -1)
  4. 能分析时间复杂度和空间复杂度并指出可优化点
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。