c++ - 如何在 vector 中找到第一个重复项 - C++?

标签 c++ vector

我有一个具有不同值的 vector ,其中一些可能出现两次。 (只有两次。)
我怎样才能找到第一个重复项?

喜欢:[a][b][b][a]
然后我需要'b'。

(抱歉新手问题。)

最佳答案

如果您正在寻找相邻的重复项,您可以简单地使用 std::adjacent_find .

如果重复项不一定相邻,那么您可以先 std::sort vector ,然后对结果使用 std::adjacent_find (请参阅下面@aix 的评论)

或者,您可以将每个元素放入 std::set 中,并在执行此操作时查找碰撞。

关于c++ - 如何在 vector 中找到第一个重复项 - C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594360/

相关文章:

c++ - 在 Clang 上禁用 "deletion of copy constructor when move constructor is avaliable"

c++ - 访问 4d vector 时出现问题

c++ - 以固定容量初始化大小为 0 的 vector<vector<double>> 的最快方法

c++ - 使用指向内部缓冲区的指针 move 语义

c++ - 这个使用 C++ 'explicit' 关键字的例子是否正确?

c++ - 为什么 C++ 允许变量名和类名相同?

c++ - 为什么可以将指针与 '\0' 进行比较? (但不是 'A' )

c++ - 何时以及如何使用 GCC 的堆栈保护功能?

c++ - 在 vector 中删除/更新结构值时出现编译错误?

r - 唯一向量的索引