713. 乘积小于 K 的子数组
Approach 1,前缀积
class Solution {
public int numSubarrayProductLessThanK(int[] nums, int k) {
int n = nums.length;
int left = 0, right = 0;
int cnt = 0;
int multi = 1;
while (left <= right && right < n) {
multi = multi * nums[right];
if (multi < k) {
cnt += right-left+1;
right++;
} else {
multi = multi / nums[left];
if (left == right) {
right++;
left++;
} else {
left++;
multi = multi / nums[right];
}
}
}
return cnt;
}
}