题目内容
某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。
现某合作厂商要采购金额为amount元的硬件产品搭建自己的AI基座。
例如当前库存有N种产品,每种产品的库存量充足,给定每种产品的价格,记为price(不存在价格相同的产品型号)。请为合作厂商列出所有可能的产品组合。
给定一行,代表一个工厂拥有的所有零件的价格,零件的库存无限量,例如:
[100,200,300,500] 代表工厂有5种零件,每种零件单价为100,200,300,500元
求出该企业能购买所有的零件组合。
示例1:
输入:
500
100,200,300,500
输出:
[[100,100,100,100,100],[100,100,100,200],[100,100,300],[100,200,200],[200,300],[500]
解题思路
深度优先搜索遍历所有可能的零件组合。
在 DFS 的过程中,对于每个零件,我们有两个选择:
选择它(如果剩余金额足够)或者不选择它。同时,维护一个当前组合的列表。
当遍历完所有零