Menu
CoddyTech

Merge Sorted Array

Recibes dos arreglos de enteros, nums1 y nums2. Cada uno ya está ordenado en orden no decreciente. Devuelve un solo arreglo que contenga todos los valores de ambos, también en orden no decreciente. Un valor que aparece en ambos arreglos aparece en el resultado tantas veces como aparece en total.

Función

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
el primer arreglo ordenado
nums2integer-array
el segundo arreglo ordenado
Devuelveinteger-array
todos los valores de ambos arreglos en un solo arreglo ordenado, de longitud nums1.length + nums2.length

Restricciones

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • nums1 y nums2 están ordenadas en orden no decreciente.

Ejemplos

Entrada
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
Salida
[1, 2, 3, 4, 9, 10]
Explicación
Lee los dos primeros elementos y conserva el menor: 1, después 2 y 3 de nums2, después 4 y 9 de nums1, y 10 al final. El resultado contiene los seis valores.

lock icon+13 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes combinar k arreglos ordenados, que contienen N valores en total, en tiempo O(N log k)?

Restablecer código
def merge(nums1, nums2):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

nums1 = [1, 4, 9]
nums2 = [2, 3, 10]

Esperado

[1, 2, 3, 4, 9, 10]