免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3665 | 回复: 15

[数值计算] 最高在线人数计算,求大牛帮忙 [复制链接]

论坛徽章:
0
发表于 2015-03-12 20:00 |显示全部楼层
有这么一份数据:进会时间,退会时间,用户帐号(用户可能会有不一样的,但同一时间,同一个帐号只可以一次入会,但用户可以进会,退会,再进会,再退会,多次进出)
QQ截图20150312195540.png

需要计算出最高的在线人数和时间点,求大牛帮忙!
已经写过一个脚本,按在会时间段,一秒一次比对整个数据的时间,计算出每一秒的在会人数,再找出最大的,
此脚本效率超级低,运行的效率差不多1-2秒出一次在线,,,(计算时间比开会时间还长
哪位大牛有好的思路和方法?感激不尽

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-03-12 20:04 |显示全部楼层
求贴文本~~~~~

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
发表于 2015-03-12 20:36 |显示全部楼层
把你的代码发出来看看哪里需要改进

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-03-12 23:40 |显示全部楼层
本帖最后由 我是一隻羊 于 2015-03-13 09:11 编辑
  1. awk 'function m(x,y){j=x>=j?x:j;k=x>=j?y:k;return j" "k}{a[++n]=$2;a[++n]=$4;b[$2]=c[$4]=1}END{for(i=0;i++<asort(a);){b[a[i]]&&!c[a[i]]?s++:!b[a[i]]&&c[a[i]]?s--:1;z=m(s,a[i])}print z}' inputfile
复制代码
楼主试试这个?

论坛徽章:
768
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
发表于 2015-03-13 01:38 |显示全部楼层
本帖最后由 Herowinter 于 2015-03-13 01:44 编辑

回复 1# yjbdsky


给个能验算结果的比较真实的文本吧, 给张图片打击人敲代码的欲望,
感觉这题目不难。

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
发表于 2015-03-13 09:28 |显示全部楼层
回复 5# Herowinter


    这么晚还上CU,果然是技术牛啊

论坛徽章:
0
发表于 2015-03-13 10:41 |显示全部楼层
回复 4# 我是一隻羊


    果然是大牛,这个可以

论坛徽章:
0
发表于 2015-03-13 10:43 |显示全部楼层
回复 4# 我是一隻羊


    好像不对,,结果是142,,此用户最多只能55人同时在线,,,,不可能有这么大,,

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-03-13 10:53 |显示全部楼层
本帖最后由 我是一隻羊 于 2015-03-13 10:56 编辑

回复 8# yjbdsky


上面那个没匹配用户,默认都是参加的一个会....不知道你的用户是什么意思,如果你要是想匹配最后一列是guest的
  1. awk 'function m(x,y){j=x>=j?x:j;k=x>=j?y:k;return j" "k}$NF ~ /guest/{a[++n]=$2;a[++n]=$4;b[$2]=c[$4]=1}END{for(i=0;i++<asort(a);){b[a[i]]&&!c[a[i]]?s++:!b[a[i]]&&c[a[i]]?s--:1;z=m(s,a[i])}print z}' inputfile
复制代码

论坛徽章:
0
发表于 2015-03-13 10:57 |显示全部楼层
这里上传文本的数据了,请注意,因为是linux格式,notepad打开,格式会有些问题,

b.rar

2.48 KB, 下载次数: 23

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP