Ctrl K

Самый длинный отрезок с положительным произведением

Средняя
Дан массив целых чисел values. Найдите самый длинный непрерывный отрезок массива, произведение элементов которого строго больше нуля, и верните его длину. Если ни одного такого отрезка нет, верните 0. Само произведение вычислять не обязательно — оно может быть огромным. Важен только его знак.
Пример 1
values=[3, -1, 0, -2, -5, 4, -1] → 3

После нуля идёт отрезок [-2, -5, 4]: два минуса дают плюс, произведение 40 > 0, длина 3. Добавить -1 нельзя — минусов станет три.

Пример 2
values=[-7] → 0

Единственный элемент отрицателен, положительного произведения не получить — ответ 0.

Пример 3
values=[2, -3, 1, 6, 0, 5] → 2
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁹ ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяДобраться до последней клетки СредняяСколько угодно сделок СредняяСамая длинная «качель» СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
values=[3, -1, 0, -2, -5, 4, -1]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 125 тестов на сервере, включая скрытые.