【发布时间】:2020-10-20 07:08:14
【问题描述】:
有很多关于删除重复值的教程,我都检查过了
喜欢
{1,2,3,4,1,2,3,4,5} -> {1,2,3,4,5}
通过使用 sort(), unique() 函数。
但如果我想删除“所有重复的”值
喜欢
{1,2,3,4,1,2,3,4,5} -> {5}
如何实现?
我已手动将原始向量分成两部分,并逐个删除第一个中的重复元素。
这是有道理的,但是如果原始向量变得很大,那么我无法手动拆分原始向量。
【问题讨论】:
-
“但是如果我想删除‘所有重复的’值” - 所以你只想保存只出现一次的值?
-
可能遍历每个元素并检查第一个元素是否在另一个索引中找到,然后将两个索引存储在变量中然后擦除
-
@OP -- 您在问题中指定了这一点:这是有道理的,但是如果原始向量大小变得很大, -- 但您接受的答案小于最优,而其他解决方案提供更好的时间复杂度。
标签: c++ algorithm sorting vector stl