Senior
56
Exercice 2. Fusion de deux tableaux triés On donne deux tableaux triés par ordre croissant, nums1 et nums2. Il faut les fusionner en un seul tableau trié par ordre croissant. nums1 = [1, 3, 5] nums2 = [2, 4, 6] merge_sorted(nums1, nums2) -> [1, 2, 3, 4, 5, 6]
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
Для слияния двух отсортированных массивов можно использовать два указателя, которые будут проходить по массивам и сравнивать текущие элементы, добавляя меньший в результирующий массив. Это классический алгоритм слияния, который работает за время O(n + m), где n и m — размеры массивов.
Пример на Python:
def merge_sorted(nums1, nums2):
i, j = 0, 0
merged = []
while i < len(nums1) and j < len(nums2):
if nums1[i] < nums2[j]:
merged.append(nums1[i])
i += 1
else:
merged.append(nums2[j])
j += 1
# Добавляем оставшиеся элементы
merged.extend(nums1[i:])
merged.extend(nums2[j:])
return merged
# Пример использования
nums1 = [1, 3, 5]
nums2 = [2, 4, 6]
print(merge_sorted(nums1, nums2)) # [1, 2, 3, 4, 5, 6]