0
点赞
收藏
分享

微信扫一扫

ElementUI<el-table></el-table>表格中固定列横向滚动条无法拖动解决

SPEIKE 2024-11-06 阅读 13

文章目录

题目描述

在这里插入图片描述

题解思路

半径为 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/

举报

相关推荐

0 条评论