type
status
date
slug
summary
tags
category
icon
password
创建时间
Apr 4, 2025 02:41 AM
给你一个长度为
n
的整数数组 nums
,请你求出每个长度为 k
的子数组的 美丽值 。一个子数组的 美丽值 定义为:如果子数组中第
x
小整数 是 负数 ,那么美丽值为第 x
小的数,否则美丽值为 0
。请你返回一个包含
n - k + 1
个整数的数组,依次 表示数组中从第一个下标开始,每个长度为 k
的子数组的 美丽值 。- 子数组指的是数组中一段连续 非空 的元素序列。
滑动窗口
基本思路:我们首先明确滑动窗口的大小,本题中的窗口为
k
。但是本题有个需要解决的问题,如何快速找到第
x
小的数。参考 灵茶山艾府 的思路,本题中的数据范围是 -50 到 50,数据范围是不大的。因此,可以直接利用数组统计次数,采用暴力枚举的方式,找到第
x
小的数。同时,还有一个优化点。我们可以统计有多少个负数,如果负数的个数比 x 还小,说明我们没办法满足条件,就不进行遍历。