gpt4 book ai didi

c++ - 如何使用 std::find 查找唯一编号

转载 作者:行者123 更新时间:2023-11-28 00:42:57 24 4
gpt4 key购买 nike

嘿,这是今天类里面提出的一个技巧问题,我想知道是否有办法在数组中找到唯一的数字,通常的方法是使用两个 for 循环并获得与所有其他我在 C++ 中为我的数组使用 std::vectors 并且想知道 find 是否可以发现唯一编号,因为我不知道唯一编号在数组中的位置。

最佳答案

假设我们知道 vector 至少有三个元素(因为否则,这个问题就没有意义),只需寻找与第一个元素不同的元素。如果它恰好是第二个,当然还要查第三个看看是第一个还是第二个是唯一的,这意味着一些额外的代码,但大致是:

std::vector<int>::const_iterator
findUniqueEntry( std::vector<int>::const_iterator begin,
std::vector<int>::const_iterator end )
{
std::vector<int>::const_iterator result
= std::find_if(
next( begin ), end, []( int value) { return value != *begin );
if ( result == next( begin ) && *result == *next( result ) ) {
-- result;
}
return result;
}

(未经测试,但您明白了。)

关于c++ - 如何使用 std::find 查找唯一编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com