我很难解决其中一个编程难题。我有一本字典,其中包含项目(用 i# 表示)和价值作为项目的价格。可以组合项目以形成组合包。
{('i2', 'i3'): '4', ('i1',): '1',('i1', 'i3', 'i4'): '6.5', ('i3',): '3',('i1', 'i2', 'i3'): '4.5', ('i2',): '2', ('i4',): '4'}
我想返回给定输入项目的最低价格。如果他从组合包中以最低价格获得额外物品,用户将不会有任何问题:
- 对于输入 i1,它应该返回价格 1。(这是所有 i1 商品的最低价格)
- 对于输入 (i1,i2),应返回 3。
- 对于输入 (i1,i2,i3,i4),应返回 8.5
- 对于输入 (i1,i1,i2,i3,i4),应返回 9.5
有谁知道如何进行?使用哪种算法?
谢谢, 苏尼尔