🗒️2653. 滑动子数组的美丽值
2025-4-4
| 2025-4-4
0  |  阅读时长 0 分钟
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 还小,说明我们没办法满足条件,就不进行遍历。

📎 参考

  • 【题单】滑动窗口与双指针
  • 2269. 找到一个数字的 K 美丽值1297. 子串的最大出现次数(二刷)
    Loading...