# 713. Subarray Product Less Than K
https://leetcode.com/problems/subarray-product-less-than-k/
###### Medium
##### Description
> Your are given an array of positive integers nums.
>
> Count and print the number of (contiguous) subarrays where the product of all the elements in the subarray is less than k.
>
##### Example
> Input: nums = [10, 5, 2, 6], k = 100
> Output: 8
> Explanation: The 8 subarrays that have product less than 100 are: [10], [5], [2], [6], [10, 5], [5, 2], [2, 6], [5, 2, 6].
> Note that [10, 5, 2] is not included as the product of 100 is not strictly less than k.
##### Solution
```python=
class Solution:
def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int:
if k<= 1:
return 0
count = 0
start = 0
end = 0
sum = 1
while end < len(nums):
v = nums[end]
sum *= v
while sum >= k:
sum /= nums[start]
start += 1
count += end - start + 1
end += 1
return count
```
##### Tips
* Two Pointer
* Sliding Window
##### Note
以原題目[10,5,2,6]解釋
當[5,2,6]成立時,包含的[5,2,6],[2,6],[6]皆成立
**end-start+1**就是所有集合的數量