Subarray Product Less Than K问题及解法
2017-12-19 10:21
375 查看
问题描述:
Your are given an array of positive integers
Count and print the number of (contiguous) subarrays where the product of all the elements in the subarray is less than
示例:
问题分析:
利用双指针,始终寻找product小与k的子数组,统计这样的子数组个数,这里的关键是统计方法的确定。
过程详见代码:
class Solution {
public:
int n
4000
umSubarrayProductLessThanK(vector<int>& nums, int k) {
if (k <= 1) return 0;
int n = nums.size(), prod = 1, ans = 0, left = 0;
for (int i = 0; i < n; i++) {
prod *= nums[i];
while (prod >= k) prod /= nums[left++];
ans += i - left + 1;
}
return ans;
}
};
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.
示例:
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.
问题分析:
利用双指针,始终寻找product小与k的子数组,统计这样的子数组个数,这里的关键是统计方法的确定。
过程详见代码:
class Solution {
public:
int n
4000
umSubarrayProductLessThanK(vector<int>& nums, int k) {
if (k <= 1) return 0;
int n = nums.size(), prod = 1, ans = 0, left = 0;
for (int i = 0; i < n; i++) {
prod *= nums[i];
while (prod >= k) prod /= nums[left++];
ans += i - left + 1;
}
return ans;
}
};
相关文章推荐
- leetcode 713 Subarray Product Less Than K
- LeetCode Subarray Product Less Than K
- Add to List 713. Subarray Product Less Than K
- Array-Subarray Product Less Than K
- leetcode 713. Subarray Product Less Than K
- LeetCode-713:Subarray Product Less Than K (乘积小于K的子数组个数) -- medium
- Subarray Product Less Than K
- [LeetCode] Subarray Product Less Than K 子数组乘积小于K
- 713. Subarray Product Less Than K
- [LeetCode] Maximum Product Subarray的4种解法
- Continuous Subarray Sum问题及解法
- Maximum Average Subarray I问题及解法
- Find Smallest Letter Greater Than Target问题及解法
- myeclipse has detected that less than 5% of the 64MB问题
- LeetCode 713. Subarray Product Less Than K(java)
- Product of Array Except Self问题及解法
- Maximum Product of Word Lengths 问题及解法
- leetcode 713. Subarray Product Less Than K 连续子数组之积小于K + 移动窗口
- Maximum Product of Three Numbers问题解法
- LWC 55:713. Subarray Product Less Than K