Sei A ein Array von n positiven ganzen Zahlen und k eine gegebene ganze Zahl.Suchen Sie ein Paar Array-Elemente mit einer gegebenen Summe und einem Produkt in O (n * log (n))
Ich suche nach Algorithmus, um zu finden, ob es ein Paar von Elementen im Array gibt, so dass A[i] * A[j] == k
und A[i] == A[j] + k
. Wenn es ein solches Paar gibt, sollte der Algorithmus seinen Index zurückgeben.
Dies ist eine Hausaufgabe, und uns wird gesagt, dass es eine O (n * log (n)) Lösung gibt.
Rotsor danke für Ihre Mühe .. wundert sich, warum niemand vorgeschlagen hat, Heap zu verwenden :) – Hades200621
Ja, das funktioniert sogar, wenn alle a gleich sind. – bbudge
@ gleb-pendler Vielleicht, weil Heap in unserem Fall im Prinzip dasselbe ist wie sortierte Arrays? Heap eignet sich gut zum Hinzufügen von Objekten im laufenden Betrieb, ansonsten sortiert es einfach. – Rotsor