5203. Произведение подмассива меньше K
Medium
2 решили
Посчитайте число непрерывных подмассивов, произведение элементов которых строго меньше
k. Все числа массива положительны. Одиночный элемент, если он < k, тоже считается отдельным подмассивом.Примеры:
Вход:
{"nums": [10, 5, 2, 6], "k": 100}
Выход:
8
Объяснение: Подходят 8 непрерывных подмассивов с произведением строго меньше 100: [10]=10, [10,5]=50, [5]=5, [5,2]=10, [5,2,6]=60, [2]=2, [2,6]=12, [6]=6. Не подходят, например, [10,5,2]=100 (нужно строго меньше) и [10,5,2,6]=600.
Вход:
{"nums": [1, 2, 3], "k": 0}
Выход:
0
Объяснение: Нужно произведение строго меньше 0, а все числа положительные — любое произведение не меньше 1. Подходящих подмассивов нет → 0.
Вход:
{"nums": [1, 1, 1], "k": 1}
Выход:
0
Объяснение: Любой непустой подмассив из единиц даёт произведение 1. Нужно строго меньше 1, поэтому ответ 0.
Вход:
{"nums": [1, 1, 1], "k": 2}
Выход:
6
Объяснение: При k=2 произведение единиц (=1) всегда меньше 2. Подходят все непустые непрерывные подмассивы: три длины 1, два длины 2 и один длины 3 → всего 6.
Ограничения:
1 <= nums.length <= 3*10^4
1 <= nums[i] <= 1000
0 <= k <= 10^6
Решите эту задачу в браузере
Создайте бесплатный аккаунт — редактор Python, Java, JavaScript и Go, проверка на тестах за секунды.
Комментарии (0)
Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!