超过时间限制

时间:2020-10-26 11:49:13

标签: c++

假设我有一个向量 [[3,4],[1,2],[8,10],[15,20]] 我想合并此重叠序列 [[1,4],[8,10],[15,20]]

基本上,我的方法是根据开始时间间隔对向量进行排序并比较每个间隔 比较前[1,2] [3,4],如果这两个间隔重叠,则我将其设为[1,4],我需要从实际向量中删除[3,4]。

所以我用擦除功能来做到这一点,下面是我的代码段。

VBA

擦除功能使此功能的时间为O(n * n)。 我的问题是如何在恒定时间内擦除向量中的特定元素。 我希望我的解释清楚

1 个答案:

答案 0 :(得分:3)

擦除是O(n),所以您的函数是O(n * n)。

如果要避免这种情况,可以增加i而不是擦除,并且不要在循环中设置