К задачам

Подмассив с заданной суммой

СредняяАлгоритмы
Лучше работает на десктопе
Префиксные суммыХеш-таблицаПодмассив

Реализуйте функцию find_subarray_with_sum(nums, target), которая возвращает любой непустой непрерывный подмассив, сумма которого равна target.

Если такого подмассива нет, верните None.

В массиве могут быть отрицательные числа, поэтому sliding window с двумя указателями в общем случае не подходит. Пустой подмассив не считается ответом, даже если target = 0.

Сигнатура

def find_subarray_with_sum(nums: list[int], target: int) -> list[int] | None:

Примеры

Пример 1

Вход:
nums = [1,2,3,7,5]
target = 12
Выход:[2,3,7]

Классический положительный пример

Пример 2

Вход:
nums = [3,4,-7,1,3,3,1]
target = 7
Выход:[3,4]

Есть отрицательное число после ответа

Пример 3

Вход:
nums = [1,-1,5,-2,3]
target = 3
Выход:[1,-1,5,-2]

Ответ включает отрицательные числа

Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
05:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Подмассив с заданной суммой — Алгоритмы задача — ML Mentor