Java 查找乘积小于给定整数k的子阵列数

Java 查找乘积小于给定整数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++){

我尝试使用滑动窗口技术解决这个问题,但未能通过以下测试用例: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++){
         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]或其他包含三个或更多条目的列表。这可能就是答案。请让我知道。