欢迎光临散文网 会员登陆 & 注册

LeetCode 2302. Count Subarrays With Score Less Than K

2023-04-14 15:00 作者:您是打尖儿还是住店呢  | 我要投稿

The score of an array is defined as the product of its sum and its length.

  • For example, the score of [1, 2, 3, 4, 5] is (1 + 2 + 3 + 4 + 5) * 5 = 75.

Given a positive integer array nums and an integer k, return the number of non-empty subarrays of nums whose score is strictly less than k.

A subarray is a contiguous sequence of elements within an array.

 

Example 1:

Input: nums = [2,1,4,3,5], k = 10

Output: 6

Explanation:

The 6 subarrays having scores less than 10 are: 

- [2] with score 2 * 1 = 2.

- [1] with score 1 * 1 = 1. 

- [4] with score 4 * 1 = 4. 

- [3] with score 3 * 1 = 3.

- [5] with score 5 * 1 = 5. 

- [2,1] with score (2 + 1) * 2 = 6. 

Note that subarrays such as [1,4] and [4,3,5] are not considered because their scores are 10 and 36 respectively, while we need scores strictly less than 10.

Example 2:

Input: nums = [1,1,1], k = 5

Output: 5

Explanation:

Every subarray except [1,1,1] has a score less than 5.

[1,1,1] has a score (1 + 1 + 1) * 3 = 9,

which is greater than 5. 

Thus, there are 5 subarrays having scores less than 5.

 先放一个超时的代码,

数据都没问题,但是就是超时了。

然后就是这个双指针的方法,就是能过,我挺奇怪的。。。时间复杂度应该是一样的啊。


Constraints:

  • 1 <= nums.length <= 105

  • 1 <= nums[i] <= 105

  • 1 <= k <= 1015


Runtime: 5 ms, faster than 14.17% of Java online submissions for Count Subarrays With Score Less Than K.

Memory Usage: 52.7 MB, less than 56.25% of Java online submissions for Count Subarrays With Score Less Than K.


LeetCode 2302. Count Subarrays With Score Less Than K的评论 (共 条)

分享到微博请遵守国家法律