亚马逊有n家供应商在特定时间以特定价格销售产品,我必须设计一种算法,在特定时间以最低价格选择产品。关于以下算法的更优化解决方案的思考
对于离:对于低于设定输入的
输入格式:
<StartTime, EndTime, Price of product by this vendor in this time frame>
1 5 20
3 8 15
7 10 8
输出应为:
1 2 20
3 6 15
7 10 8
我已经通过存储与所述溶液中进行价格与hashmap中的时间相对应,如果价格较低,则更新价格然后是与那个时间相对应的旧的,然后在供应商类别中列出存储对应于特定价格的所有时间。
但上面的解决方案是花费O(n2)时间复杂度,所以寻找一些花哨的DS或方法来解决这个在较短的时间复杂度。
您可能想查看[区间树](https://en.wikipedia.org/wiki/Interval_tree)。谷歌搜索会发现这样的DS已经在Java中实现。 –