#include<iostream>
#include<vector>
using namespace std;
int numSubarrayProductLessThanK(vector<int>& nums, int k) {
int len = nums.size();
int i = 0;
int j = 0;
int res = 0;
int cur = 1;
for (; j < len; j++) {
cur *= nums[j];
while (i <= j && cur >= k) {
cur /= nums[i];
i++;
}
res += j - i + 1;
}
return res;
}
int main() {
int m, k;
vector<int> nums;
while (cin >> m) {
nums.push_back(m);
if (cin.get() == '\n') {
break;
}
}
cin >> k;
cout<< numSubarrayProductLessThanK(nums, k);
cout << endl;
system("pause");
}
乘积小于k的子数组
最新推荐文章于 2024-09-29 18:03:50 发布