广博吧

位置:首页 > 职场知识 > 综合指导

某著名互联网公司的一道面试题!

电视台需要提前一天排出第二天的节目播出时间表,已知有四类节目:

某著名互联网公司的一道面试题!

A.每天在固定时间播放的节目(参数是开始播放时间,节目时长),例如:每天晚上19:00固定开始播放新闻联播,节目时长30分钟。

B.广告(参数是广告播出时间段,广告时长,播出次数),例如:每天上午10:00-11:00播出nike的广告,广告时长2分钟,播出3次。

C.不限时节目(参数是节目时长,最少播出次数),例如:每天必须播出“璀璨京华60年”宣传片5次,每次时长1分钟。

D.空白时段(无参数),每天要求固定留出9段空白时间做为机动时间,每段空白时间为5分钟。

不限时节目必须在广告间播出(可以在两个广告间插入一个或多个不限时节目),但是广告之间播出的不限时节目总时长不能超过10分钟。

此外:在为节目分配时间段的同时,会出现一些很小的.时间段(例如几秒)无法用相应长度的节目来填充,这类时间段我们称之为时间“碎片”。

请问,在如上条件限制下,如何设计一个算法,能尽可能得到节目排序的最优解(时间“碎片”尽可能少,不限时节目和广告尽可能均匀排布,避免出现某时段广告出现频率过高或过低的情形)。