Ich habe n Zahlen und eine Zahl z. Ich möchte einen Algorithmus (Pseudocode) erstellen, um herauszufinden, ob es Paare (x, y) gibt, die x + y = z in O (nlogn).Finden Sie alle Paare (x, y) in einem unsortierten Array, so dass x + y = z
Ich dachte, dass ich den Quicksort-Algorithmus ausführen kann. Dann habe ich 2 Arrays: Array1 (mit Elementen < Pivot) und Array2 (mit Elementen> Pivot). Wenn das erste Element im Array < z ist, dann kann ich alle anderen Elemente in Array1 überprüfen, um Paare zu finden, die x + y = z. sonst, wenn das erste Element in Array1 ist> z dann gehe ich zu Array2 und mache die gleiche Prozedur. Ist mein Vorschlag wahr?
Wenn das Array bereits sortiert ist, können Sie es in O (n) tun. – Henry
Das Array ist unsortiert. Sorry, ich bearbeite meine Frage jetzt –
Sind die Zahlen einzigartig? – David