百度面试题讨论

统计地铁   某一秒的 人数
数据:
时间都到秒级别
进站时间   出站时间   卡ID

然后怎么设计一种结构,可以提供查询  某一秒的 人数, 查第 3  第5秒的人数

感觉我的思路很naive:
假设查询第T秒,问题转化成   统计 出站时间 > T 并且 进站时间<T 的条数
这种日志一般都是有序的,先找到进站时间 >T的点,然后倒着往回找出站时间<T的点, 它们之间的就是人数

然后把结果保存起来,用树形结构,加速查找。


感觉我没答到点上,求思路
#百度#
全部评论
典型的线段树 or 树状数组
点赞 回复 分享
发布于 2016-08-11 18:07
这题目跟统计某时刻的IP在线一样啊,简单来说就是分成每一时刻,记录进站出站,4楼正解
点赞 回复 分享
发布于 2016-08-12 17:08
这道题是百度以前的面试题了,4楼正解
点赞 回复 分享
发布于 2016-08-12 14:35
利用hash解决,开辟一个60*60*24 数组a,初始化为0.读取进和出的日志,比如在第10秒进有100人,则a[100]+=100.在第10秒出了20人,则a [100]-=20那么最后第10秒的人数为80.遍历万正个进和出的日志,那么数组a中就为每一秒的变化人数,在申请一个数住b大小和a一样,b[i]=a[i]+b[i-1], b[0]=a[0] 这样b[i]即为第 i秒前总人数
点赞 回复 分享
发布于 2016-08-11 23:06
令牌桶
点赞 回复 分享
发布于 2016-08-11 22:59
这个应该就是线段树了
点赞 回复 分享
发布于 2016-08-11 21:03

相关推荐

不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务