我在解决一个编程难题时遇到了很大的困难。我有一个字典,其中包含项(用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
有没有人知道如何进行?使用哪种算法?
谢谢, Sunil