Junior — Middle
¿Cómo se pueden fusionar dos arreglos ordenados en uno solo, manteniendo el orden de los elementos?
sobes.tech AI
Respuesta de la IA
Para fusionar dos matrices ordenadas en una sola ordenada, se puede utilizar un algoritmo de fusión similar al que se aplica en la ordenación por mezcla (merge sort). La idea es recorrer simultáneamente ambos arreglos, comparando los elementos actuales, y agregar el menor de ellos al arreglo resultante.
Ejemplo en 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++
}
}
// Añadir los elementos restantes
result = append(result, a[i:]...)
result = append(result, b[j:]...)
return result
}
Este método funciona en tiempo O(n + m), donde n y m son los tamaños de los arreglos originales.