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

Теги:

Массивы Скользящее окно

Комментарии (0)

Зарегистрируйтесь или войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!