2010-12-10 10 views
4

Étant donné deux tableaux triés, A et B, trouvez i, j pour lequel | A [i] - B [j] | est minimum.Trouver la différence minimale entre deux tableaux

+0

S'il vous plaît, exprimez ce que vous aimeriez savoir comme une question! –

+3

Étant donné 2 questions de devoirs, vous devez ... au moins les essayer vous-même. –

+0

Il veut connaître le moyen le plus efficace pour trouver la plus petite distance entre deux éléments dans les deux tableaux différents. – sethvargo

Répondre

8

Comme les tableaux sont triés, vous pouvez les traverser avec 2 pointeurs (un pour chaque tableau). Si |A[i+1] - B[j]| < |A[i] - B[j+1]| alors incrémenter i, sinon incrémenter j. Continuez jusqu'à ce que vous ayez atteint la fin de l'un des tableaux. Gardez une trace des indices minimaux au fur et à mesure.

+0

Quelle est la complexité de l'exécution de ce code dans le pire des cas? Ça devrait être n^2, non? – Yashasvi

+0

O (nlogm): pour chaque élément dans A, utilisez la méthode de recherche binaire pour trouver l'élément avec la valeur la plus proche dans le tableau B. – Yashasvi

+0

Comment puis-je trouver des réponses comme moi? Quelle était la méthode que vous avez utilisée pour le résoudre? –

Questions connexes