https://leetcode.cn/problems/subarray-product-less-than-k/
直接滑动窗口,上双指针
class Solution {
public int numSubarrayProductLessThanK(int[] nums, int k) {
int len = nums.length;
int res = 0;
int i = 0; //定义左指针
int mul = 1;//算积
for(int j = 0;j<len;j++){//右指针开走
mul*=nums[j];
while(i<=j && mul>=k){ //当mul大于等于k的时候,满足左指针开动的条件
mul/=nums[i];//左指针往左走,如果向左走一个还满足,
//那么继续向左走与此同时,下面的res加上区间长度
i++;
}
res+=j-i+1;//求出满足的个数
}
return res;
}
}