有没有比编写循环更简单的方法来检查每个值是否重复,并在 vector 中找到重复项时返回 true?
最佳答案
Are theres a easier way than writing a loop checking each and every value for duplicates and return true when a duplicate within the vector is found?
您必须检查 vector 的每个元素(直到找到重复项),否则您无法知道未检查的元素之一是否有重复项。
如果“更简单”是指“更高效”,如果“编写一个循环”是指两个嵌套循环,那么是的,有一种更有效的方法:首先对 vector 进行排序,然后仅检查相邻元素。
如果“更简单”是指“我可以避免编写任何循环吗”,那么可以。上一段中提到的两个步骤(排序和检查相邻元素的等价性)在标准库中都有实现。这些函数被命名为 sort
和 adjacent_find
。
关于如果在类型 int vector 中找到重复项,C++ 返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354323/