algorithm - 算法 - 如何获取时间序列中的活动会话数?
问题描述
我有一张表,我们在其中维护用户的登录和注销时间。现在我想向管理员显示一个表格,其中包含活跃用户的数量,时间如下:
00:00 - 250
00:15 - 225
00:30 - 240
00:45 - 190
01:00 - 240
....
..
我们应该使用什么算法?
提前致谢 :)
解决方案
您可以简单地遍历所有用户的登录-注销对列表,并将用户(或增加该用户的计数)放入适当的存储桶中。现在,如果特定用户跨越多个存储桶,您将不得不考虑将该用户(或增加该用户的计数)放在多个存储桶中。
这就是算法的全部内容。应该是最简单的一种了。
如果您想了解实现细节,您可以使用 aHashMap
或unordered_map
who 的键将是您要报告用户数量的时间,并且该值将从零开始,每次获得 a 时您将递增该值新用户。
推荐阅读
- bash - `bash` 正在泄漏内存,我在哪里报告它?
- reactjs - 在 useEffect 挂钩中使用对象属性而不是对象作为依赖项是不好的做法吗?
- bootstrap-5 - Bootstrap 5:如何添加 $font-family-serif 变量
- typescript - 带有 Expo 和 Typescript 的 NPM 工作区
- android - 代码已粘贴,但它在 Android SSH 客户端上执行了相反的行顺序
- vba - VBA 用户表单组合框是 Outlook 联系人姓名列表和命令按钮,用于在选择姓名时搜索匹配的联系人家庭电话号码
- javascript - 以闪亮的方式删除html表中的特定行
- python - 如何使用用户输入迭代地构建 pd 系列,一次一个单元格?
- flutter - 从 Flutter 中的异步方法中调用一个确定的值。等待问题
- mysql - .ibd 文件在 ubuntu 服务器上占用太多空间