ideas:
El uso de dos matrices, A [] arr repitió para almacenar todos los elementos de otra matriz B [] es un valor de índice de arr elemento, el número de elemento de matriz de veces correspondiente al valor subíndice se produce. complejidad tiempo es O (n)
Tenga en cuenta que , B [] obligado a aplicar matrices estáticas, ya que si, a continuación, se produce un valor de desbordamiento diferencias dinámicas entre los dos elementos de matriz adyacentes; matriz dinámica a [], si es necesario, porque el número de elementos simultáneamente todos los elementos son eficaces incierto de salida, salida directa a la poligonal.
1 #include <iostream> 2 #include <vector> 3 usando espacio de nombres std; 4 #define MAXSIZE 100 5 6 int b [MAXSIZE] = { 0 }; 7 vector < int > a; 8 int arr [ 5 ] = { 1 , 4 , 3 , 1 , 4 }; 9 10 void repetición ( int * arr, int n) { 11 para ( inti = 0 ; i <n; i ++ ) { 12 b [matriz [i]] ++ ; 13 } 14 para ( int i = 0 ; i <MAXSIZE; i ++ ) { 15 si (b [i]> 1 ) 16 a.push_back (i); 17 } 18 } 19 20 int main () { 21 de repetición (arr, 5 ); 22 para ( int i = 0 ; i <a.size (); i ++ ) 23 cout << a [i] <<" " ; 24 de retorno 0 ; 25 }