Назад к вопросам
СБЕР
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]