Google面试题请教# JobHunting - 待字闺中
p*9
1 楼
前两天我同学面了G家被问了一道题,事后跟我讨论了一下,但两人都不确定自己想出
的算法是否正确,所以发上来问问各位大神。
题目是这样的:学校的club需要申请活动教室来举办活动。学校一共有5个活动教室(
c1,c2,c3,c4,c5),每个教室在同一时段最多只能同时被3个活动占用,而且同一个活
动在同一时间段内可以同时在几个教室进行(比如活动a1可以在1点到两点之间可以同
时在c1和c2举办活动)。现在给你一份学校各种club的活动申请表,让你挑出符合上述
条件的所有活动来。input是个txt文件,里面有活动的Id,开始时间,终止时间。
Output只需打印出活动id,教室id,开始时间,结束时间。
我想出的解法是简单的贪心算法,就是按照活动的结束时间排序,然后对于每一个活动
遍历5个教室,如果overlap小于等于3就放进去。但是发现这个解法用不到题里的这个
条件:“而且同一个活动在同一时间段内可以同时在几个教室进行”。我跟同学讨论半
天也不知道咋利用这个条件,是不是我们理解得有问题?
求各位指点一二,多谢~~
的算法是否正确,所以发上来问问各位大神。
题目是这样的:学校的club需要申请活动教室来举办活动。学校一共有5个活动教室(
c1,c2,c3,c4,c5),每个教室在同一时段最多只能同时被3个活动占用,而且同一个活
动在同一时间段内可以同时在几个教室进行(比如活动a1可以在1点到两点之间可以同
时在c1和c2举办活动)。现在给你一份学校各种club的活动申请表,让你挑出符合上述
条件的所有活动来。input是个txt文件,里面有活动的Id,开始时间,终止时间。
Output只需打印出活动id,教室id,开始时间,结束时间。
我想出的解法是简单的贪心算法,就是按照活动的结束时间排序,然后对于每一个活动
遍历5个教室,如果overlap小于等于3就放进去。但是发现这个解法用不到题里的这个
条件:“而且同一个活动在同一时间段内可以同时在几个教室进行”。我跟同学讨论半
天也不知道咋利用这个条件,是不是我们理解得有问题?
求各位指点一二,多谢~~