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

MediumAlgo
05:00
Лучше работает на десктопе
Prefix SumHash MapSubarrayreal-interview
Реальный собес00:29:11-00:39:572026-01-30 18-02-29Страница собеса

Реализуйте функцию 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:

Пример

find_subarray_with_sum([1, 2, 3, 7, 5], 12) -> [2, 3, 7]

Примеры

Пример 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]

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

Консоль
Нажмите Run или Ctrl+Enter для запуска