一道面试题如下:
简单理解就是求每个直播间,所有的最短时间段的上线人数。简单图解下:
有了上图,我们应该就秒懂了这题的解题思路,先将所有的时间点排序,按顺序分配得到每个时间分区,绿色为进入起始时间点,红色为结束时间点,我们进入起始点时+1,进入结束时间点时-1,这样就可以得到每个区间的在线人数了。当然假如user3也从进去,则这个时间点位置+2,后续的时间片段内在线人数就是累加后的值。
理解了思路,我们就可以开始编码了:
最终完整处理代码为:
结果:
注意:使用如下代码即可设置一个单元格可以显示全部输出()
默认是输出结尾表达式:
首先我们创建表并插入数据:
然后编写SQL: