我目前正面临一个算法问题,我可能需要你提供一些提示。
这里的问题详情如下: 给定n个容量为k的FIFO。还有十六种不同的元素。现在我们用随机数量的不同来填充这些FIFO 随机元素。任务是从FIFO中删除给定随机数量的随机元素。可能没有其他阻塞元件引起的最佳解决方案(不允许旋转FIFO)。 最好的解决方案是删除所有或大多数元素的解决方案(因此有更多可能的解决方案)。
这里有三个FIFO(由|分隔)和三个元素(a,b和c)的可视化示例:
1 | 2 | 3
---+---+---
. | b | c <- last elements
. | b | a
a | a | b <- first elements
我希望你现在知道我面临的问题。 (请随时询问是否有任何无法理解的内容)
以下是我对算法的看法:
所以最糟糕的情况是O(n ^ k)的复杂性,这显然是可怕的!我真的很感激降低复杂性的想法。