【发布时间】:2016-12-29 00:38:13
【问题描述】:
C++ 中是否有任何 STL 函数可以让我找到数组中所有重复项的索引?
例如:
int array[] = {1,1,2,3,4};
应该返回 0,1
【问题讨论】:
-
进行了厚颜无耻的编辑;大概你想要一个整数数组,而不是一个指向整数的数组和一卡车的 UB?
-
我想你可以用
std::sort、std::adjacent_find和一个循环来做到这一点。 -
改变数组可以吗?临时更改阵列可以吗?创建临时数组可以吗?如果更改正常,请参阅@NathanOlivier 的评论。
-
@NathanOliver 但是任何带有排序的解决方案都会丢失原始索引。
-
数组中的类型总是integer(还是内置类型)?这可能会影响算法的设计选择