713. 乘积小于 K 的子数组(leetcode)
https://leetcode.cn/problems/subarray-product-less-than-k/description/
同向双指针,没什么难点
class Solution {
int res;
public int numSubarrayProductLessThanK(int[] nums, int k) {
if(k<=1)return 0;
int mSum=1;
// i右指针,子数组的右端点
for(int i=0,j=0;i<nums.length;i++)
{
mSum*=nums[i];
while(mSum >= k) // 当不满足要求时,缩小范围
{
mSum/=nums[j];
j++;
}
res += i-j+1;
}
return res;
}
}