Exercice 3

Fusionner deux tableaux triés en complexité O(N+M)

Vianney Veremme · LOG200 · Automne 2026 · 2026-09-22

Version PDF

1 Énoncé

Considérer 2 tableaux triés T1[1..N] et T2[1..M]. Écrire un algorithme qui crée un troisième tableau T3[1..N+M] qui est aussi trié. La complexité de votre algorithme doit être en 𝑂(𝑁+𝑀).

2 Solution (LeetCode)

Problème 88 Merge Sorted Array résolu le 2026-08-09

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int pindex = m + n - 1;
        int index1 = m - 1;
        int index2 = n - 1;

        while (index2 >= 0) {
            if (index1 >= 0 && nums1[index1] > nums2[index2])
                nums1[pindex--] = nums1[index1--];
            else
                nums1[pindex--] = nums2[index2--];
        }
    }
}
Remarque. nums1 jour le rôle de T3, initialement rempli avec T1 et de la place libre pour T2.