2019今日头条研发岗笔试---编程题《直播爱好者》

小明在抖音关注了N个主播,每天主播的开播时间是固定的,分别在si时刻开始直播,ti时刻结束。小明无法同时观看两个主播的直播。一天被分成了M个时间单位。请问小明每天最多能完整观看多少场直播。
输入描述:
第一行一个整数,代表N
第二行一个整数,代表M
第三行空格分割的N*2个整数,代表s,t
输出描述:
一行一个整数,表示答案

示例1:输入

3
10
0 3 3 7 7 0

输出

3

示例2:输入

3
10
0 5 2 7 6 9

输出

2

分析:首先建立二维数组,按照开播时间排序,示例1得[[0,5],[2,7],[6,9]],第一组不一定是最开始看的,因为有可能第一组时间过长。应包含从第2,3,4,5.....组开始看的情况,选出结果最大值。

N=3
M=10
st=[[0,5],[2,7],[6,9]]
resm=[0]*len(st)
if st[N-1][1]==0:
    st[N-1][1]=M
end=st[N-1][1]
for m in range(N):
  res=1
  endtime=st[m][1]
  i=0
  while(endtime<end):
    i=i+1
    if i>=N: break
    if st[i][0]>=endtime:
           endtime=st[i][1]
           #print(i+1)
           res=res+1
  resm[m]=res
#print(resm)
print("最多能完整观看"+str(max(resm))+"个直播")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 入眼处是单调的白色,白色的山峦,白色的大地,与蓝色的天空泾渭分明。 偶有风过,带起片片琼花,轻柔似锦,却生生映成一...
    醉卧沙场毁人不倦阅读 396评论 0 0
  • 昨天凌晨出差回来,好朋友说几日不见约一下,今天下班就在一个好朋友家里做了几个菜一起吃了个晚饭。吃饭期间我这个被...
    水木河阅读 217评论 0 0
  • 简介: 《无限骑士》是一款只需一根手指即可完成的简单操作的RPG手游。游戏以古今中外的英雄们死后来到的天上世界——...
    假药君阅读 433评论 0 4
  • 在某一个闷热的仲夏夜晚,我照例洗完澡后一边擦湿漉漉的头发一边看电影。屏幕里一个俯拍香港美丽夜晚的镜头让我内心一颤,...
    聽伊阅读 153评论 0 1