713. 乘积小于 K 的子数组

exiaohu 于 2022-05-05 发布

题目链接:713. 乘积小于 K 的子数组

双指针,用滑动窗口计算。

class Solution:
    def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int:
        ans, prod, i = 0, 1, 0
        for j, num in enumerate(nums):
            prod *= num
            while i <= j and prod >= k:
                prod //= nums[i]
                i += 1
            ans += j - i + 1
        return ans