算法 - 如何计算时间序列中的事件 session 数?

标签 algorithm graph time-series

我有一张表,我们在其中维护用户的登录和注销时间。现在我想向管理员显示一个表,其中包含活跃用户的数量,时间如下:

00:00 - 250
00:15 - 225
00:30 - 240
00:45 - 190
01:00 - 240
....
..

我们应该使用什么算法?

提前致谢:)

最佳答案

使用成对的列表/数组(时间;incr = +1 用于登录,-1 用于注销)

按时间键排序列表

使 ActiveCount = 0

遍历链表,在ActiveCount中加入incr

每时每刻ActiveCount的值对应活跃用户数

  login: 0; logout: 4
  login: 2; logout: 6
  list 
   (0;1), (2;1), (4;-1), (6;-1)
 count 
 0   1     2       1       0

关于算法 - 如何计算时间序列中的事件 session 数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53789317/

相关文章:

c++ - "contains string"的快速索引

algorithm - 最大重叠点

performance - 选择第一个广告的算法是什么?

r - 绘制每毫秒的时间序列

tensorflow - 基于过去和 future 值的每个时间序列步骤的二元分类

c# - 如何获得二维数组的唯一 ID?

graph - 折线图上的线是否可以使用链接到 x 轴上显示的 x 值的输入?

c++ - 新别墅ACM解决攻略

c++ - Boost Graph 通过 vertex_descriptor 访问属性

python - 如何平滑时间序列的频谱?