Sobes.tech
Назад к вопросам
Senior
3

Задача 2. Слияние двух отсортированных массивов Даны два отсортированных по возрастанию массива целых чисел nums1 и nums2. Необходимо объединить их в один отсортированный по возрастанию массив nums1 = [1, 3, 5] nums2 = [2, 4, 6] merge_sorted(nums1, nums2) -> [1, 2, 3, 4, 5, 6]

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Для слияния двух отсортированных массивов можно использовать два указателя, которые будут проходить по массивам и сравнивать текущие элементы, добавляя меньший в результирующий массив. Это классический алгоритм слияния, который работает за время 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]