当前位置: 首页 > 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

相关文章:

  • 《软件设计的哲学》阅读摘要之设计原则
  • 无人设备遥控器之定向天线篇
  • openssl交叉编译(这次基本上正规了)
  • 重温设计模式--单例模式
  • Flutter动画学习二
  • C#+OpenCv深度学习开发(常用模型汇总)
  • 低压电容补偿不用时会有电流损耗吗?
  • Lampiao靶机入侵实战
  • 计算机考研,选择西安交通大学还是哈工大?
  • 吞吐量最高飙升20倍!破解强化学习训练部署难题
  • Java解析word中的表格或者文本
  • SpringBoot学生请假系统:设计与实现全攻略
  • YOLO11改进-模块-引入基于部分卷积的前馈网络PCFN
  • 第十七届山东省职业院校技能大赛通知分享
  • 算法有哪些
  • 人工智能入门要学习多久?
  • WebMvcConfigurationSupport和WebMvcConfigure
  • 中国人工智能产业发展联盟发布《基于大模型的数字人系统技术要求》
  • .NET 8 Web API 中的身份验证和授权
  • 阿里巴巴参数获取API
  • 实现企业微信打卡月报与简道云的高效集成
  • QT项目-仿QQ聊天(带宠物系统)
  • (五)Spark大数据开发实战:灵活运用PySpark常用DataFrame API
  • 星河飞雪网络安全学习笔记-shodan2
  • Kafka自动生产消息软件
  • 【LeetCode】1. 两数之和