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

LeetCode 2653. Sliding Subarray Beauty

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

Given an integer array nums containing n integers, find the beauty of each subarray of size k.

The beauty of a subarray is the xth smallest integer in the subarray if it is negative, or 0 if there are fewer than x negative integers.

Return an integer array containing n - k + 1 integers, which denote the beauty of the subarrays in order from the first index in the array.

  • A subarray is a contiguous non-empty sequence of elements within an array.

 

Example 1:

Input: nums = [1,-1,-3,-2,3], k = 3, x = 2

Output: 

[-1,-2,-2]

Explanation: 

There are 3 subarrays with size k = 3. 

The first subarray is [1, -1, -3] and the 2nd smallest negative integer is -1.  

The second subarray is [-1, -3, -2] and the 2nd smallest negative integer is -2.  

The third subarray is [-3, -2, 3] and the 2nd smallest negative integer is -2.

Example 2:

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

Output: 

[-1,-2,-3,-4]

Explanation: 

There are 4 subarrays with size k = 2. 

For [-1, -2], the 2nd smallest negative integer is -1.

For [-2, -3], the 2nd smallest negative integer is -2. 

For [-3, -4], the 2nd smallest negative integer is -3. 

For [-4, -5], the 2nd smallest negative integer is -4. 

Example 3:

Input: nums = [-3,1,2,-3,0,-3], k = 2, x = 1

Output: 

[-3,0,-3,-3,-3]

Explanation: 

There are 5 subarrays with size k = 2.

For [-3, 1], the 1st smallest negative integer is -3. 

For [1, 2], there is no negative integer so the beauty is 0. 

For [2, -3], the 1st smallest negative integer is -3. 

For [-3, 0], the 1st smallest negative integer is -3. 

For [0, -3], the 1st smallest negative integer is -3.

 

Constraints:

  • n == nums.length 

  • 1 <= n <= 105

  • 1 <= k <= n

  • 1 <= x <= k 

  • -50 <= nums[i] <= 50 

有了思路的就很快了,一开始我是直接遍历的,但是time out了,

所以就用双指针,每次把数据放到map中,然后写一个函数去返回第x个数字,

然后数字放到数组中即可;

下面是代码:



Runtime: 699 ms, faster than 16.67% of Java online submissions for Sliding Subarray Beauty.

Memory Usage: 59.8 MB, less than 33.33% of Java online submissions for Sliding Subarray Beauty.


LeetCode 2653. Sliding Subarray Beauty的评论 (共 条)

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