javaProgramming|乘积小于 K 的子数组 leetcode java dailywork

给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。
【javaProgramming|乘积小于 K 的子数组 leetcode java dailywork】

class Solution { public int numSubarrayProductLessThanK(int[] nums, int k) { int n = nums.length, ret = 0; int prod = 1, i = 0; for (int j = 0; j < n; j++) { prod *= nums[j]; while (i <= j && prod >= k) { prod /= nums[i]; i++; } ret += j - i + 1; } return ret; } }

javaProgramming|乘积小于 K 的子数组 leetcode java dailywork
文章图片


    推荐阅读