首页 > 试题广场 >

乘积小于K的子数组数量

[编程题]乘积小于K的子数组数量
  • 热度指数:546 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的正整数数组 nums , 请你找出这个数组中乘积小于 k 的连续子数组的个数。

数据范围: , 数组中的值满足
示例1

输入

[10,5,3,7],100

输出

7

说明

八个子数组分别是
10
5
3
7
10 5
5 3
3 7
示例2

输入

[10,5,3,7],0

输出

0
头像 牛客338107602号
发表于 2023-01-05 12:50:45
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型ArrayList 展开全文
头像 fred-coder
发表于 2022-05-06 23:37:18
双指针,右指针前移 s *= nums[r] 当 s >= k 时,左指针前移直到条件满足,结果为满足条件区间长度的累加 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @param k int整 展开全文