Étant donné deux ensembles a et b .Trouver toutes les paires d'éléments (a1,b1) tels que a1 appartient à la série A et b1 appartient à la Matrice B dont la somme a1+b1 = k

Je suis à la recherche de la solution de l'algorithme suivant avec un minimum de temps et de l'espace de la complexité.

Donnés deux ensembles a et b, trouver toutes les paires d'éléments (a1,b1) tels que a1 appartient à la série A et b1 appartient à la Matrice B dont la somme a1+b1 = k (tout entier).

J'ai été en mesure de venir avec O(n log n) approche où nous allons trier une matrice de dire et pour chacun de l'élément b de la matrice B, faire une recherche binaire sur Un tableau trié de valeur (K-b) .

Peut-on l'améliorer davantage?

  • C'est probablement la manière la plus rapide solution générique que vous pouvez obtenir, puisque le facteur constant pour la recherche de n fois dans un tableau trié est plus faible que pour le tri d'un tableau non trié de longueur n, généralement. Donc, vous probablement ne voulez trier un tableau (le court).
  • Si a = {3, 3}, b = {7, 7}, et k = 10, quel est le résultat attendu?
  • stackoverflow.com/questions/19175221/...
InformationsquelleAutor TopCoder | 2010-09-28