如果i-j之间满足乘积小于k,则所有子表乘积也小于k
class Solution {
public:
int numSubarrayProductLessThanK(vector<int>& nums, int k) {
if(k<=1)return 0;
int i=0;
//存储答案
int res=0,mul=1;
for(int j=0;j<nums.size();j++)
{
mul*=nums[j];
while(mul>=k)
{
mul/=nums[i];
i++;
}
res+=j-i+1;
}
return res;
}
};