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;
}
}
文章图片
推荐阅读
- Java锁——从字节码分析synchronized及monitor
- maven|maven整合远程jar包和本地jar包打包部署
- java|100%搞懂hashMap并发导致死循环
- git|Git工具的使用
- 项目|7-谷粒学苑
- [LeetCode] 42. Trapping Rain Water_hard tag: Two Pointers
- Tp5框架 关于App登录token唯一加密算法
- 面试官(Spring MVC 如何保证 Controller 的并发安全性(面试必问。。))
- Java 13 的 switch 语句改进