滑动窗口法
bit位
// 滑动窗口函数
unsigned char slidingFilter(char inputValue, SlidingWindow *window)
{
// 清除当前索引的比特位
window->values &= ~(1 << window->index);
// 如果 inputValue 为 true,则设置当前索引的比特位为 1
if (inputValue)
{
window->values |= 1 << window->index;
}
// 更新索引
window->index = (window->index + 1) % WINDOW_SIZE;
// 判断窗口内的比特位是否全部为1
unsigned char allOnes = (1 << WINDOW_SIZE) - 1; //用宏可以省计算量
if (window->values == allOnes)
{
return 1;
}
else if (window->values == 0)
{
return 0;
}
else
{
return 2; // 其他正在运行
}
}
#include

最低0.47元/天 解锁文章
706

被折叠的 条评论
为什么被折叠?



