Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何求向量中元素的最大和最小索引?_C++_Vector_Indexing - Fatal编程技术网

C++ 如何求向量中元素的最大和最小索引?

C++ 如何求向量中元素的最大和最小索引?,c++,vector,indexing,C++,Vector,Indexing,我有一个向量中包含数千个值的数据集,如下所示: 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6 数据的属性: 1) 这些值是从1开始的连续整数 2) 每个值的数目并不总是相同的 目标是: 找到向量中每个值的最小和最大索引。预期结果应为: minimum index: [0, 3,5,9,14,16] maximum index: [2, 4,8,13,15,20] 有人能给我一个简单的解决办法吗? 谢谢以下是解决

我有一个向量中包含数千个值的数据集,如下所示:

1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6
数据的属性:

1) 这些值是从1开始的连续整数

2) 每个值的数目并不总是相同的

目标是:

找到向量中每个值的最小和最大索引。预期结果应为:

 minimum index: [0, 3,5,9,14,16]
 maximum index: [2, 4,8,13,15,20]
有人能给我一个简单的解决办法吗?
谢谢

以下是解决您问题的伪代码:


1.创建一张
map@cauchy的地图:一张成对的地图将比需要的更慢、更复杂。将结果转储到stdout实际上比简单的解决方案需要更多的行:

//假设编译器不支持std::vector的初始化列表:
int ai[]={1,1,1,2,2,3,3,3,4,4,4,4,5,5,6,6,6,7};
std::向量值(ai,ai+(sizeof(ai)/sizeof(ai[0]));
向量边界;
int prevValue=值[0]-1;
对于(size_t i=0;istd::cout被否决,因为poster想要整个解决方案,但没有做任何工作。
 IF yes:
   then update the second value with current index.
  else 
   update the first value with current index.