La detección matriz arr [] array elementos duplicados, tenga en cuenta la complejidad del tiempo

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 }

 

Supongo que te gusta

Origin www.cnblogs.com/PennyXia/p/12654888.html
Recomendado
Clasificación