Articles of Algorithmus

Generiere alle Permutationen einer Liste ohne benachbarte gleiche Elemente

Wenn wir eine Liste sortieren, wie a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] Gleiche Elemente sind in der resultierenden Liste immer benachbart. Wie kann ich die gegenteilige Aufgabe erreichen – mische die Liste so, dass gleiche Elemente niemals (oder so selten wie möglich) benachbart sind? Zum Beispiel ist für die […]

Wie finde ich das Element eines Arrays, das mindestens N / 2 mal wiederholt wird?

Gegeben ein Array mit N Elementen. Wir wissen, dass eines dieser Elemente sich mindestens N / 2 mal wiederholt. Über die anderen Elemente wissen wir nichts. Sie können sich wiederholen oder einzigartig sein. Gibt es eine Möglichkeit, das Element zu finden, das mindestens N / 2 Mal in einem Durchgang wiederholt oder O (N) ist? […]

Welchen Algorithmus für ein Tic-Tac-Toe-Spiel kann ich verwenden, um den “besten Zug” für die KI zu bestimmen?

In einer Tic-Tac-Toe-Implementierung denke ich, dass der herausfordernde Teil darin besteht, den besten Zug zu bestimmen, der von der Maschine gespielt wird. Welche Algorithmen können verfolgt werden? Ich untersuche Implementierungen von einfach bis komplex. Wie würde ich diesen Teil des Problems angehen?

Gibt es einen effizienten Algorithmus, um eine zweidimensionale konkave Hülle zu erzeugen?

Wenn ich einen Satz von (2D-) Punkten aus einer GIS-Datei (einem Stadtplan) habe, muss ich das Polygon erzeugen, das die “Kontur” für diese Karte (ihre Grenze) definiert. Seine Eingabeparameter wären die gesetzten Punkte und eine “maximale Kantenlänge”. Es würde dann das entsprechende (wahrscheinlich nicht konvexe) Polygon ausgeben. Die beste Lösung, die ich bisher gefunden habe, […]

Mapping N-dimensionalen Wert auf einen Punkt auf der Hilbert-Kurve

Ich habe eine riesige Menge von N-dimensionalen Punkten (Dutzende von Millionen; N ist nahe bei 100). Ich muss diese Punkte auf eine einzige Dimension abbilden und gleichzeitig die räumliche Lokalität erhalten. Ich möchte dazu die Hilbert-raumfüllende Kurve verwenden. Für jeden Punkt möchte ich den nächsten Punkt auf der Kurve auswählen. Der Hilbert-Wert des Punktes (Kurvenlänge […]

Wie bekomme ich den Schnittpunkt zwischen zwei Arrays als neues Array?

Ich habe dieses Problem viele Male in verschiedenen Situationen erlebt. Es ist allgemein für alle Programmiersprachen, obwohl ich mit C oder Java vertraut bin. Betrachten wir zwei Arrays (oder Sammlungen): char[] A = {‘a’, ‘b’, ‘c’, ‘d’}; char[] B = {‘c’, ‘d’, ‘e’, ‘f’}; Wie bekomme ich die gemeinsamen Elemente zwischen den beiden Arrays als […]

Wie konvertiert man ein Byte-Array in seinen numerischen Wert (Java)?

Ich habe ein 8-Byte-Array und möchte es in den entsprechenden numerischen Wert konvertieren. z.B byte[] by = new byte[8]; // the byte array is stored in ‘by’ // CONVERSION OPERATION // return the numeric value Ich möchte eine Methode, die die obige Konvertierung durchführt.

Finde das Mehrheitselement im Array

Das Majoritätselement ist das Element, das mehr als die Hälfte der Größe des Arrays ausmacht. Wie findet man das Majoritätselement in einem Array in O(n) ? Beispieleingabe: {2,1,2,3,4,2,1,2,2} Erwartete Ausgabe: 2

So generieren Sie Sudoku-Boards mit einzigartigen Lösungen

Wie generiert man ein Sudoku-Board mit einer einzigartigen Lösung? Was ich dachte, war, eine zufällige Tafel zu initialisieren und dann einige Zahlen zu entfernen. Aber meine Frage ist, wie kann ich die Einzigartigkeit einer Lösung beibehalten?

Erklären Sie diesen Ausschnitt, der das Maximum von zwei Ganzzahlen findet, ohne if-else oder einen anderen Vergleichsoperator zu verwenden?

Finde das Maximum von zwei Zahlen. Sie sollten keinen if-else oder einen anderen Vergleichsoperator verwenden. Ich habe diese Frage am Online-Bulletin Board gefunden, also dachte ich, ich sollte in StackOverflow fragen BEISPIEL Eingabe: 5, 10 Ausgabe: 10 Ich habe diese Lösung gefunden, kann mir jemand helfen, diese Codezeilen zu verstehen int getMax(int a, int b) […]