1class Solution:2def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int:3if k == 0 or k == 1:4return 05p = 16ini = 07fin = 08n = len(nums)9c = 010while fin < n:11p = p * nums[fin]12while p >= k:13p = p // nums[ini]14ini += 11516n1 = fin - ini + 117c += n118fin += 119return c