Junior — Middle
Wie kann man zwei sortierte Arrays zu einem zusammenfügen und dabei die Reihenfolge der Elemente beibehalten?
sobes.tech KI
Antwort von AI
Um zwei sortierte Arrays zu einem sortierten Array zusammenzuführen, kann ein Merge-Algorithmus verwendet werden, der dem in der Mergesort-Algorithmus ähnelt. Die Idee ist, beide Arrays gleichzeitig zu durchlaufen, die aktuellen Elemente zu vergleichen und das kleinere in das Ergebnis-Array einzufügen.
Beispiel in Go:
func mergeSortedArrays(a, b []int) []int {
result := make([]int, 0, len(a)+len(b))
i, j := 0, 0
for i < len(a) && j < len(b) {
if a[i] <= b[j] {
result = append(result, a[i])
i++
} else {
result = append(result, b[j])
j++
}
}
// Füge die verbleibenden Elemente hinzu
result = append(result, a[i:]...)
result = append(result, b[j:]...)
return result
}
Diese Methode läuft in O(n + m) Zeit, wobei n und m die Größen der ursprünglichen Arrays sind.