1 条题解

  • 0
    @ 2026-3-26 15:57:34

    NUMPY099 题解:数组平滑(移动平均)

    题目

    使用移动平均对数组进行平滑。

    解题思路

    1. 读取数组和窗口大小
    2. 使用卷积计算移动平均

    代码

    import numpy as np
    
    n, k = map(int, input().split())
    arr = np.array(list(map(float, input().split())))
    smooth = np.convolve(arr, np.ones(k)/k, mode='valid')
    print(smooth)
    

    代码详解

    $\texttt{np.convolve(arr, np.ones(k)/k, mode='valid')}$ —— 使用大小为 kk 的窗口计算移动平均。

    运行示例

    输入:

    5 3
    1.0 2.0 3.0 4.0 5.0
    

    分析:

    • [1,2,3][1, 2, 3] 的平均 =2= 2
    • [2,3,4][2, 3, 4] 的平均 =3= 3
    • [3,4,5][3, 4, 5] 的平均 =4= 4

    输出:

    [2. 3. 4.]
    

    核心知识点

    1. np.convolve\texttt{np.convolve} —— 卷积
    2. 移动平均
    • 1

    信息

    ID
    244
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者