Articles of Algorithmus

Wie suche ich nach einer Zahl in einem 2d-Array sortiert von links nach rechts und von oben nach unten?

Ich habe kürzlich diese Interviewfrage erhalten und bin gespannt, was für eine gute Lösung das wäre. Angenommen, ich bekomme ein 2d-Array, in dem alle Zahlen im Array von links nach rechts und von oben nach unten in aufsteigender Reihenfolge angeordnet sind. Was ist der beste Weg zu suchen und festzustellen, ob eine Zielnummer im Array […]

Segmentiertes Sieb von Eratosthenes?

Es ist einfach genug, ein einfaches Sieb zu machen: for (int i=2; i<=N; i++){ if (sieve[i]==0){ cout << i << " is prime" << endl; for (int j = i; j<=N; j+=i){ sieve[j]=1; } } cout << i << " has " << sieve[i] << " distinct prime factors\n"; } Aber was ist, wenn N […]

Graph-Algorithmus, um alle Verbindungen zwischen zwei beliebigen Vertices zu finden

Ich versuche, den besten zeiteffizienten Algorithmus zu ermitteln, um die unten beschriebene Aufgabe zu erfüllen. Ich habe eine Reihe von Aufzeichnungen. Für diese Datensatzgruppe habe ich Verbindungsdaten, die angeben, wie Paare von Datensätzen aus diesem Satz miteinander verbunden werden. Dies stellt im Grunde einen ungerichteten Graph dar, wobei die Datensätze die Eckpunkte und die Verbindungsdaten […]

Ein Algorithmus zum Aufblasen / Entleeren (Versetzen, Puffern) von Polygonen

Wie würde ich ein Polygon “aufblasen”? Das heißt, ich möchte etwas Ähnliches tun: Die Anforderung ist, dass die Kanten / Punkte des neuen (aufgeblasenen) Polygons alle denselben konstanten Abstand von den alten (ursprünglichen) Polygonen haben (auf dem Beispielbild sind sie nicht, da dann Bögen für aufgeblähte Ecken verwendet werden müssten, aber lassen Sie uns) Vergiss […]

Schleifen in einer Spirale

Ein Freund brauchte einen Algorithmus, mit dem er die Elemente einer NxM-Matrix durchlaufen konnte (N und M sind ungerade). Ich habe eine Lösung gefunden, aber ich wollte sehen, ob meine Kameraden eine bessere Lösung finden können. Ich schreibe meine Lösung als Antwort auf diese Frage. Beispielausgabe: Für eine 3×3-Matrix sollte die Ausgabe wie folgt aussehen: […]

Gute Java Graph Algorithmus Bibliothek?

Hat jemand gute Erfahrungen mit Java-Bibliotheken für Graph-Algorithmen gemacht? Ich habe versucht, JGraph und fand es in Ordnung , und es gibt viele verschiedene in Google. Gibt es Menschen, die tatsächlich erfolgreich im Produktionscode verwendet werden oder empfehlen würden? Um das klarzustellen, suche ich keine Bibliothek, die Graphen / Diagramme erzeugt, sondern eine, die bei […]

Umkehren Sie die Reihenfolge der Wörter in einer Zeichenfolge

Ich habe diese string s1 = “My name is XYZ” und ich möchte die Reihenfolge der Wörter umkehren, so dass s1 = “ZYX is name My” . Ich kann es mit einem zusätzlichen Array tun. Ich dachte intensiv nach, aber ist es möglich, es in-place zu machen (ohne zusätzliche Datenstrukturen zu verwenden) und mit der […]

Den nächsten String finden

Ich brauche eine Möglichkeit, mehrere Zeichenketten mit einer Testzeichenfolge zu vergleichen und die Zeichenkette zurückzugeben, die ihr sehr ähnlich ist: TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B : THE RED COW JUMPED OVER THE RED COW CHOICE C : […]

Erhalte ein Powerset eines Sets in Java

Das Powerset von {1, 2, 3} ist: {{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}} Nehmen wir an, ich habe ein Set in Java: Set mySet = new HashSet(); mySet.add(1); mySet.add(2); mySet.add(3); Set<Set> powerSet = getPowerset(mySet); Wie schreibe ich die function getPowerset in der bestmöglichen Reihenfolge der Komplexität? (Ich denke, […]

Wie kann die Autorisierung mit einer Telegram-API implementiert werden?

Ich möchte mehrere Autorisierungen mit PHP für die Interaktion mit der REST API implementieren. Welche Aufgabe versuche ich zu lösen? Nun, es ist einfach: mehrere Dutzend Benutzer (alle haben ein Carma wie hier (+10, -2, +1000 etc.) mit relevanter Gruppentaxonomie: Webmaster und Kunden) haben ein Benutzerprofil auf meiner Website. Nachdem sie eine bestimmte Menge an […]