Menu
CoddyTech

Merge Sorted Array

Ti vengono forniti due array di numeri interi, nums1 e nums2. Ognuno è già ordinato in ordine non decrescente. Restituisci un unico array che contenga tutti i valori di entrambi, anch’esso in ordine non decrescente. Un valore che compare in entrambi gli array compare nel risultato tante volte quante compare in totale.

Funzione

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
il primo array ordinato
nums2integer-array
il secondo array ordinato
Restituisceinteger-array
tutti i valori di entrambi gli array in un unico array ordinato, di lunghezza nums1.length + nums2.length

Vincoli

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • nums1 e nums2 sono ciascuno ordinati in ordine non decrescente.

Esempi

Input
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
Output
[1, 2, 3, 4, 9, 10]
Spiegazione
Leggi i due elementi in testa e conserva il più piccolo: 1, poi 2 e 3 da nums2, poi 4 e 9 da nums1, e infine 10. Il risultato contiene tutti e sei i valori.

lock icon+13 test nascosti all’invio

challenge icon

Per approfondire

Riesci a fondere k array ordinati, contenenti in totale N valori, in tempo O(N log k)?

Ripristina il codice
def merge(nums1, nums2):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

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