Menu
CoddyTech

Merge Sorted Array

Vous recevez deux tableaux d’entiers, nums1 et nums2. Chacun est déjà trié par ordre croissant au sens large. Renvoyez un seul tableau contenant toutes les valeurs des deux tableaux, également par ordre croissant au sens large. Une valeur présente dans les deux tableaux apparaît dans le résultat autant de fois qu’elle apparaît au total.

Fonction

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
le premier tableau trié
nums2integer-array
le deuxième tableau trié
Renvoieinteger-array
toutes les valeurs des deux tableaux dans un seul tableau trié, de longueur nums1.length + nums2.length

Contraintes

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • nums1 et nums2 sont chacun triés par ordre non décroissant.

Exemples

Entrée
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
Sortie
[1, 2, 3, 4, 9, 10]
Explication
Lisez les deux premiers éléments et gardez le plus petit : 1, puis 2 et 3 de nums2, puis 4 et 9 de nums1, et enfin 10. Le résultat contient les six valeurs.

lock icon+13 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu fusionner k tableaux triés contenant au total N valeurs, en un temps de O(N log k) ?

Réinitialiser le code
def merge(nums1, nums2):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

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