713 乘积小于K的子数组
题目:
给你一个整数数组 nums
和一个整数 k
,请你返回子数组内所有元素的乘积严格小于 k
的连续子数组的数目。
分析:
两层循环直接计算。
注意,单个元素小于 K 也要计算在内。
// date 2023/11/21
func numSubarrayProductLessThanK(nums []int, k int) int {
var ans int
sum := 1
n := len(nums)
for i := 0; i < n; i++ {
if nums[i] < k {
ans++
}
sum = nums[i]
for j := i+1; j < n; j++ {
sum *= nums[j]
if sum >= k {
break
} else {
ans++
}
}
}
return ans
}
最后更新于