idées:
L'utilisation de deux réseaux, [A] arr répété pour stocker tous les éléments d'une autre B [] du tableau est une valeur d'index d'arr élément, le nombre d'éléments de réseau de temps correspondant à la valeur indice se produit. la complexité du temps est O (n)
On notera que , B [] nécessaire pour appliquertableaux statiques, car une valeur de dépassement de capacité sidifférence de dynamique entre les deux éléments de réseau adjacents, puis se produit; tableau dynamique a []si nécessaire, parce que le nombre d'éléments simultanément touséléments sont efficaces incertain sortie,sortie directe de traverse.
1 #include <iostream> 2 #include <vector> 3 en utilisant l' espace de noms 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 vide répétition ( int * arr, int n) { 11 pour ( inti = 0 ; i <n; i ++ ) { 12 b [arr [i]] ++ ; 13 } 14 pour ( int i = 0 ; i <MAXSIZE; i ++ ) { 15 si (b [i]> 1 ) 16 a.push_back (i); 17 } 18 } 19 20 int main () { 21 répétition (arr, 5 ); 22 pour ( int i = 0 ; i <a.size (); i ++ ) 23 Cout << a [i] <<" " ; 24 retour 0 ; 25 }