由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Google面试题请教
相关主题
请教一道面试题regular expression matching 解法
Google面试题:n个slot停车场停n-1辆车问题min depth binary tree用recursive解法一般能过关麽?
问一道题在LC上发现一道Uber刚面过我的题
leetcodeOJ上的sudoku有简单解法吗?看来刷题还要兼顾brute force解法
经典递归题需要搞懂非递归算法吗?goog的HR不理我怎么办?
这个题能有几种解法?通常一个职位要电话面试多少个人啊?
是不是所有recursion能解决的问题都有iterative的解法解一道 GOOGLE 面试题 ...
8 queens问题最好解法是什么?时间复杂度?[合集] 面试题求解
相关话题的讨论汇总
话题: 活动话题: 教室话题: google话题: 面试题话题: 点到
进入JobHunting版参与讨论
1 (共1页)
p*****9
发帖数: 20
1
前两天我同学面了G家被问了一道题,事后跟我讨论了一下,但两人都不确定自己想出
的算法是否正确,所以发上来问问各位大神。
题目是这样的:学校的club需要申请活动教室来举办活动。学校一共有5个活动教室(
c1,c2,c3,c4,c5),每个教室在同一时段最多只能同时被3个活动占用,而且同一个活
动在同一时间段内可以同时在几个教室进行(比如活动a1可以在1点到两点之间可以同
时在c1和c2举办活动)。现在给你一份学校各种club的活动申请表,让你挑出符合上述
条件的所有活动来。input是个txt文件,里面有活动的Id,开始时间,终止时间。
Output只需打印出活动id,教室id,开始时间,结束时间。
我想出的解法是简单的贪心算法,就是按照活动的结束时间排序,然后对于每一个活动
遍历5个教室,如果overlap小于等于3就放进去。但是发现这个解法用不到题里的这个
条件:“而且同一个活动在同一时间段内可以同时在几个教室进行”。我跟同学讨论半
天也不知道咋利用这个条件,是不是我们理解得有问题?
求各位指点一二,多谢~~
h*******e
发帖数: 1377
2
几个教室进行的同一活动是什么意思啊,是说一个活动可选教室有k个 任意一个教室办
了本次活动就算本次活动举办成功了,还是如果选这个活动几个教室必须全用上阿。
p*****9
发帖数: 20
3
应该不是几个教室必须全用上,因为从输入文件反映不出来某个活动必须用几个教室。
我感觉应该是可以用一个也可以用多个。但这也是我觉得奇怪的地方,既然用一个教室
就可以举办活动,那干嘛还占多个?实在搞不懂这条件有啥用。。。

【在 h*******e 的大作中提到】
: 几个教室进行的同一活动是什么意思啊,是说一个活动可选教室有k个 任意一个教室办
: 了本次活动就算本次活动举办成功了,还是如果选这个活动几个教室必须全用上阿。

h*******e
发帖数: 1377
4
如果是全用上做一个 dp , 开个 dp[1024] 扫 actNum遍就扫出来了把 满足题意多组
解阿,要求什么阿? 活动最多的情况?  全部打出来所有可能不大现实吧。
噢看出来了,我上面的算法没有考虑时间段会很多~~
如果不是全用上。。。似乎情况更多了啊。。
s***5
发帖数: 2136
5
那个条件的意思显然是说,一个活动可以在任何教室举行,所以有时候就需要在不同教
室间调节某个活动。
p*****9
发帖数: 20
6
刚同学跟我update一下说活动时间只是从9点到18点,以小时为单位,比如某个活动是
从9点到10店或者从13点到16点。
题目似乎也没说让列出活动最多的情况,只是说打印出所有满足条件的活动来。感觉一
个活动同时占多个教室没什么意义啊。。。

【在 h*******e 的大作中提到】
: 如果是全用上做一个 dp , 开个 dp[1024] 扫 actNum遍就扫出来了把 满足题意多组
: 解阿,要求什么阿? 活动最多的情况?  全部打出来所有可能不大现实吧。
: 噢看出来了,我上面的算法没有考虑时间段会很多~~
: 如果不是全用上。。。似乎情况更多了啊。。

p*****9
发帖数: 20
7
你的意思是说如果有一个活动在1点到5点举办,那它可以在1点到2点之间在c1, 2点到5
点之间在c2?我也想过,但是想不出来啥情况下需要在不同教室间换来换去。。。

【在 s***5 的大作中提到】
: 那个条件的意思显然是说,一个活动可以在任何教室举行,所以有时候就需要在不同教
: 室间调节某个活动。

h*******e
发帖数: 1377
8
比如第二个活动一到2点只能用第一个教室的教室。。 第一个活动如果灵活就要换了。
但是必然是要求某种极值阿。。 你再去问问。否则 都不选的情况,各个活动都选一
个的情况,还有各种排列组合, 情况太多了啊。

到5

【在 p*****9 的大作中提到】
: 你的意思是说如果有一个活动在1点到5点举办,那它可以在1点到2点之间在c1, 2点到5
: 点之间在c2?我也想过,但是想不出来啥情况下需要在不同教室间换来换去。。。

l*********b
发帖数: 65
9
天哪好难。。
p*****9
发帖数: 20
10
OK 我再去问问, 本来挺简单的一个贪心题目,加了那个活动可以占多个教室的条件后
,一下乱了。。。

了。

【在 h*******e 的大作中提到】
: 比如第二个活动一到2点只能用第一个教室的教室。。 第一个活动如果灵活就要换了。
: 但是必然是要求某种极值阿。。 你再去问问。否则 都不选的情况,各个活动都选一
: 个的情况,还有各种排列组合, 情况太多了啊。
:
: 到5

s****h
发帖数: 3979
11
既然可以换活动室,那么教室就无所谓了。
题目简化为所有活动抢15个坑。
分三步
1.安排尽可能多的活动,一个活动某时段只能占一个坑;
2.如果15个坑没填满,让已经安排的活动多占点坑,提高坑的利用率。
3.尽量避免换教室
第一步就是看砍掉那些活动,使得每个时间段都小于等于15
第二步和第三步貌似需要合起来考虑,更复杂。
p*****9
发帖数: 20
12
嗯……感觉好复杂啊,头大TT

【在 s****h 的大作中提到】
: 既然可以换活动室,那么教室就无所谓了。
: 题目简化为所有活动抢15个坑。
: 分三步
: 1.安排尽可能多的活动,一个活动某时段只能占一个坑;
: 2.如果15个坑没填满,让已经安排的活动多占点坑,提高坑的利用率。
: 3.尽量避免换教室
: 第一步就是看砍掉那些活动,使得每个时间段都小于等于15
: 第二步和第三步貌似需要合起来考虑,更复杂。

r***3
发帖数: 3
13
整个过程可以用DFS (不知道还有没有更好的解法)
对于一个活动占多个教室,可以把每一个活动分为三种情况,分别占有1,2,3个教室
。贪心的时候,选中其中一种情况,但是把3个都标记为visited,以免在后面被重复选
中。

【在 p*****9 的大作中提到】
: 嗯……感觉好复杂啊,头大TT
b******g
发帖数: 3616
14
咋感觉题目没讲明白?最终的目的是尽量安排最多的club还是什么?
另外为什么一个教室就能handle的活动需要放到几个教室里?教室有人数限制吗?
比如c1,c2教室,2-3点都有slot,现在有一个club a1在这个时间段活动,为什么不只
安排在c1,c2其中的一个教室而让其他club有机会用剩下的slot?这个条件是不是意味着
一个活动a1必须占用3个slot,但这3个slot可以在不同教室?

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

1 (共1页)
进入JobHunting版参与讨论
相关主题
[合集] 面试题求解经典递归题需要搞懂非递归算法吗?
两道面试题这个题能有几种解法?
问一道少见的微软面试题。是不是所有recursion能解决的问题都有iterative的解法
问一道面试题8 queens问题最好解法是什么?时间复杂度?
请教一道面试题regular expression matching 解法
Google面试题:n个slot停车场停n-1辆车问题min depth binary tree用recursive解法一般能过关麽?
问一道题在LC上发现一道Uber刚面过我的题
leetcodeOJ上的sudoku有简单解法吗?看来刷题还要兼顾brute force解法
相关话题的讨论汇总
话题: 活动话题: 教室话题: google话题: 面试题话题: 点到