当前位置: 首页 > article >正文

Rust 力扣 - 2090. 半径为 k 的子数组平均值

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

半径为 k 的子数组平均值 等价于 子数组长度为2 * k + 1的总和 除于 2 * k + 1

我们遍历长度为2 * k + 1的窗口,我们只需要记录窗口内的平均值即可

题解代码

impl Solution {
    pub fn get_averages(nums: Vec<i32>, k: i32) -> Vec<i32> {
        let n = ((k << 1) + 1) as usize;

        let mut ans = vec![-1; nums.len()];

        if n > ans.len() {
            return ans;
        }

        let mut sum = 0;
        for i in 0..n {
            sum += nums[i] as usize;
        }

        for i in k as usize..(nums.len() - k as usize) {
            ans[i] = (sum / n) as i32;
            if i != nums.len() - k as usize - 1 {
                sum += (nums[i + k as usize + 1] - nums[i - k as usize]) as usize;
            }
        }

        ans
    }
}

题目链接

https://leetcode.cn/problems/k-radius-subarray-averages/description/


http://www.kler.cn/a/375083.html

相关文章:

  • 一篇文章带你快速上手MySQL中的各种函数的使用
  • Unity 二次元三渲二
  • React 中组件通信的几种主要方式
  • opencv优秀文章集合
  • EDA --软件开发之路
  • 执行Django项目的数据库迁移命令时报错:(1050, “Table ‘django_session‘ already exists“);如何破?
  • 低压电容补偿不用时会有电流损耗吗?
  • Lampiao靶机入侵实战
  • 计算机考研,选择西安交通大学还是哈工大?
  • 吞吐量最高飙升20倍!破解强化学习训练部署难题
  • Java解析word中的表格或者文本
  • SpringBoot学生请假系统:设计与实现全攻略
  • YOLO11改进-模块-引入基于部分卷积的前馈网络PCFN
  • 第十七届山东省职业院校技能大赛通知分享
  • 算法有哪些
  • 人工智能入门要学习多久?
  • WebMvcConfigurationSupport和WebMvcConfigure
  • 中国人工智能产业发展联盟发布《基于大模型的数字人系统技术要求》
  • .NET 8 Web API 中的身份验证和授权
  • 阿里巴巴参数获取API
  • 实现企业微信打卡月报与简道云的高效集成
  • QT项目-仿QQ聊天(带宠物系统)
  • (五)Spark大数据开发实战:灵活运用PySpark常用DataFrame API
  • 星河飞雪网络安全学习笔记-shodan2
  • Kafka自动生产消息软件
  • 【LeetCode】1. 两数之和