LeetCode 剑指Offer II 041滑动窗口的平均值[滑动窗口] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 剑指Offer II 041滑动窗口的平均值[滑动窗口] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。

解题思路:
使用队列动态存储滑动窗口的数值,超出队列固定长度要把队列首位的数字弹出,就像滑动窗口一样不断移动,代码如下:

class MovingAverage 
private:
    int windows = 0;
    double count = 0.0;
    queue<int> q;
public:
    /** Initialize your data structure here. */
    MovingAverage(int size) 
        windows = size;
    
    
    double next(int val) 
        int n = q.size();
        if(n == windows) 
            int num = q.front();
            count -= num;
            q.pop();
        
        q.push(val);
        count += val;
        return count / q.size();
    
;

/**
 * Your MovingAverage object will be instantiated and called as such:
 * MovingAverage* obj = new MovingAverage(size);
 * double param_1 = obj->next(val);
 */

以上是关于LeetCode 剑指Offer II 041滑动窗口的平均值[滑动窗口] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 剑指Offer II 041滑动窗口的平均值[滑动窗口] HERODING的LeetCode之路

算法学习——剑指 Offer II 041. 滑动窗口的平均值(Java实现)

算法学习——剑指 Offer II 041. 滑动窗口的平均值(Java实现)

算法学习——剑指 Offer II 041. 滑动窗口的平均值(Java实现)

算法学习——剑指 Offer II 041. 滑动窗口的平均值(Java实现)

每日一题剑指 Offer II 041. 滑动窗口的平均值