La Red de Conocimientos Pedagógicos - Currículum vitae - Pregunta en lenguaje C, tiempo de espera y cómo solucionarlo. .

Pregunta en lenguaje C, tiempo de espera y cómo solucionarlo. .

El número es relativamente grande y no es posible una búsqueda lineal simple. La pregunta ya indicó que el conjunto de entrada está ordenado en orden descendente y no hay elementos duplicados para cada b[j]. una matriz Puedes usar la media búsqueda. Además, si puedes entender completamente el significado de que ambos conjuntos están en orden descendente, puedes hacer que el programa se ejecute más rápido. Código más rápido: #include?lt;stdio.hgt;

#include?lt;limit.hgt;

int?main()

{

int?i,?j,?k,?n,?m,?s;

int?a[100001],?b[100001];

scanf("d",?&k);

mientras(k--)

{

scanf("d",? amp; n) ;

for(i=0;?i?lt;?n;?i)

scanf("d",?amp;a[i]) ;

a[n]?=?INT_MIN;

scanf("d",?amp;m);

for(j=0;? j?lt; ?m;?j )

scanf("d",?amp;b[j]);

b[m]?=?INT_MIN;

p>

i?=?j?=?s?=?0;

mientras(1)

{

mientras(a[ i ]?gt;?b[j])

i ;

mientras(b[j]?gt;?a[i])

j ;

if(i?==?n?||?j?==?m)

romper;

if(a[i]? = =?b[j])

{

s

i

j; }

}

printf("d\s",?s);

}

}