Rust 力扣 - 2653. 滑动子数组的美丽值

文章目录

题目描述

题解思路

我们遍历长度为k的的窗口

因为数据范围比较小,所以我们可以通过计数排序找到窗口中第k小的数

  • 如果小于0,则该窗口的美丽值为第k小的数
  • 如果大于等于0,则该窗口的美丽值为0

题解代码

rust 复制代码
impl Solution {
    pub fn get_subarray_beauty(nums: Vec<i32>, k: i32, x: i32) -> Vec<i32> {
        let mut cnt = [0; 101];

        let get_beauty = |cnt: &mut [i32]| -> i32 {
            let mut count = 0;
            for i in 0..101 {
                count += cnt[i];

                if count >= x {
                    if i < 50 {
                        return i as i32 - 50;
                    }

                    return 0
                }
            }

            0
        };

        for i in 0..k as usize {
            cnt[(nums[i] + 50) as usize] += 1;
        }

        let mut ans = vec![0; nums.len() - k as usize + 1];

        ans[0] = get_beauty(&mut cnt);

        for i in k as usize..nums.len() {
            cnt[(nums[i - k as usize] + 50) as usize] -= 1;
            cnt[(nums[i] + 50) as usize] += 1;

            ans[i - k as usize + 1] = get_beauty(&mut cnt);
        }

        ans
    }
}

题目链接

https://leetcode.cn/problems/sliding-subarray-beauty/

相关推荐
小样vvv6 分钟前
【面试篇】JVM
jvm·面试·职场和发展
兢兢业业的小白鼠14 分钟前
Java高级JVM知识点记录,内存结构,垃圾回收,类文件结构,类加载器
java·开发语言·jvm·tomcat
uhakadotcom17 分钟前
GHSL-2024-252: Cloudflare Workers SDK 环境变量注入漏洞解析
后端·面试·github
uhakadotcom18 分钟前
GHSL-2024-264_GHSL-2024-265: 了解 AWS CLI 中的正则表达式拒绝服务漏洞 (ReDoS)
后端·面试·github
Asthenia041220 分钟前
Feign的协议和序列化是用的什么?
后端
uhakadotcom24 分钟前
了解Chainlit:简化AI应用开发的Python库
后端·面试·github
Niuguangshuo24 分钟前
Python设计模式:代理模式
开发语言·python·代理模式
Codelinghu30 分钟前
26岁转型:研发骨干到技术Leader,我的管理心态转变与团队方法论
后端
能来帮帮蒟蒻吗31 分钟前
GO语言学习(16)Gin后端框架
开发语言·笔记·学习·golang·gin
落榜程序员34 分钟前
Java 基础-29-final关键字-详解
java·开发语言