Wie kann ich zwei sortierte Arrays effizient zusammenführen?
So führen Sie zwei sortierte Arrays effizient zusammen
In einem aktuellen Interview wurden Sie gebeten, zwei sortierte Arrays zu einem einzigen sortierten Array zusammenzuführen. Sie haben eine Lösung bereitgestellt, bei der Elemente verglichen und an ein neues Array angehängt wurden. Obwohl dieser Ansatz richtig ist, kann er für eine bessere Leistung optimiert werden.
Hier ist eine effizientere Lösung:
public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { answer[k++] = a[i] < b[j] ? a[i++] : b[j++]; } while (i < a.length) answer[k++] = a[i++]; while (j < b.length) answer[k++] = b[j++]; return answer; }
Die optimierte Lösung verwendet eine einzige Schleife, um über beide Arrays zu iterieren und zusammenzuführen sie in das Antwortarray ein. Durch die Verwendung des ternären Operators (? :) können wir das kleinere Element bestimmen und es an das Antwortarray anhängen, ohne dass eine zusätzliche bedingte Anweisung erforderlich ist.
Zusätzlich verwenden wir k, um den Index des Antwortarrays danach zu erhöhen Jedes Element wird hinzugefügt, wodurch der Code vereinfacht und die Anzahl der Vorgänge reduziert wird.
Im Vergleich zur Originallösung ist diese optimierte Version prägnanter und wird mit weniger bedingten Prüfungen ausgeführt, was zu einer Verbesserung führt Effizienz.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei sortierte Arrays effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Problem behoben

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?
