Java 查找乘积小于给定整数k的子阵列数
我尝试使用滑动窗口技术解决这个问题,但未能通过以下测试用例:nums=[10,9,10,4,3,8,3,3,6,2,10,10,9,3]和k=19Java 查找乘积小于给定整数k的子阵列数,java,sliding-window,Java,Sliding Window,我尝试使用滑动窗口技术解决这个问题,但未能通过以下测试用例:nums=[10,9,10,4,3,8,3,3,6,2,10,10,9,3]和k=19 class Solution { public int numSubarrayProductLessThanK(int[] nums, int k) { int count = 0; int j = 1; for(int i = 0; i < nums.length; i++){
class Solution {
public int numSubarrayProductLessThanK(int[] nums, int k) {
int count = 0;
int j = 1;
for(int i = 0; i < nums.length; i++){
if(j <= nums.length){
count += getCount(nums,j,k);
j++;
}
}
return count;
}
public int getCount(int[] nums, int size, int k){
int window_pro = 1;
int count = 0;
for(int i = 0; i < size; i++)
window_pro *= nums[i];
if(window_pro < k)
count++;
for(int i = size; i < nums.length; i++){
window_pro = (window_pro * nums[i])/nums[i-size];
if(window_pro < k)
count++;
}
return count;
}
}
类解决方案{
public int numSubarrayProductLessThanK(int[]nums,int k){
整数计数=0;
int j=1;
对于(int i=0;i 如果(j)你知道18个正确的子数组吗?你能把它们列为例子吗?你输出了你的程序计数的子数组吗?你能把它们列为调试信息吗?是的,当然可以![10],[9],[10],[4],[3],[8],[3],[3],[3],[6],[2],[10],[10],[9],[3],[3,6,2].请您的问题提供两个列表-并说明哪个是…猜测您给出的列表是由您的代码生成的错误列表,因为它不包含[10,4,3]或者其他有三个或更多条目的。这可能就是答案。请告诉我。你知道18个正确的子数组吗?你能把它们列为例子吗?你输出了你的程序计数的子数组吗?你能把它们列为调试信息吗?是的,当然![10],[9],[10],[3],[8],[3],[3],[6],[10],[10],[9],[3],[4,3],[3,6],[6,2]。请您的问题提供两个列表-并说明哪个列表…猜测您给出的列表是由您的代码生成的错误列表,因为它不包含[10,4,3]或其他包含三个或更多条目的列表。这可能就是答案。请让我知道。