由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教fackbook一道题
相关主题
数组中找和为0的3个数,4个数旧题重提: 扔玻璃杯/扔鸡蛋问题
Amazon 电面题, 觉得不可能再优化了!MS 电面面经,攒人品
【BB关于排序的题目该怎么解?】真慫阿, Facebook 1st phone interview,
heap sort的缺点是什么?和quick sort比也上一道算法题了(俺的版权了:))
讨论一道面试题算法题:min heap inplace变 BST
一个NxN矩阵每行每列都sort好,如何排序?请教一个问题
一个特别的inplace merge two sorted arrays【什么时候需要做heap, 什么时候需要做BST】
出两道题目大家做做G家电面题目
相关话题的讨论汇总
话题: events话题: fackbook话题: conflicts话题: ok话题: 道题
进入JobHunting版参与讨论
1 (共1页)
a********n
发帖数: 369
1
假设知道一天之内n个events的开始时间和结束时间,怎样检测出一天内所有的时间
conflicts?就是同一时间有两个或者多个events,精确到分钟即可。Just get the number of conflicts for each event is OK.
我只能想到把每个events的开始和结束时间跟别的比较一下,但是很慢O(n^2)。或者就
是检测每个分钟内的事件数,这样一天24小时,就是O(24*60*n),但是似乎一般每天不会有那么多events~
请大家指点,谢谢啊!
B*****t
发帖数: 335
2
sort+greedy
or hash

【在 a********n 的大作中提到】
: 假设知道一天之内n个events的开始时间和结束时间,怎样检测出一天内所有的时间
: conflicts?就是同一时间有两个或者多个events,精确到分钟即可。Just get the number of conflicts for each event is OK.
: 我只能想到把每个events的开始和结束时间跟别的比较一下,但是很慢O(n^2)。或者就
: 是检测每个分钟内的事件数,这样一天24小时,就是O(24*60*n),但是似乎一般每天不会有那么多events~
: 请大家指点,谢谢啊!

r****o
发帖数: 1950
3
请问,这时间段(start..end)怎么hash啊?

【在 B*****t 的大作中提到】
: sort+greedy
: or hash

h**6
发帖数: 4160
4
根据开始时间排序,然后检测相邻两个事件是否重叠,重叠就用最后结束时间和下一个
事件开始时间继续检测。
x***y
发帖数: 633
5
Sort all the start and end time and scan over the result array while keeping
a count of how many events are active; when the count becomes 2, record the
time t1; and when the count become 1, record the time t2 and add the t2-t1
to the total time, and go on to the end of sorted array....

number of conflicts for each event is OK.
不会有那么多events~

【在 a********n 的大作中提到】
: 假设知道一天之内n个events的开始时间和结束时间,怎样检测出一天内所有的时间
: conflicts?就是同一时间有两个或者多个events,精确到分钟即可。Just get the number of conflicts for each event is OK.
: 我只能想到把每个events的开始和结束时间跟别的比较一下,但是很慢O(n^2)。或者就
: 是检测每个分钟内的事件数,这样一天24小时,就是O(24*60*n),但是似乎一般每天不会有那么多events~
: 请大家指点,谢谢啊!

s******t
发帖数: 2374
6
如果 start和end都sort的话
那么,在每个单位时间里,比如一分钟,只需要比较当前这一分钟里面的start和那些
end有先后关系。
t1 t2 t3 t4 t5...
====|=======|========|=======|===
|____e1___|
|___e2___|
|__e3__|
|__e4_|
这样,排序时nlogn
比较在worse情况下 等于:分钟数*n*n
g********d
发帖数: 43
7
Segment tree. O(n*logn)

number of conflicts for each event is OK.
不会有那么多events~

【在 a********n 的大作中提到】
: 假设知道一天之内n个events的开始时间和结束时间,怎样检测出一天内所有的时间
: conflicts?就是同一时间有两个或者多个events,精确到分钟即可。Just get the number of conflicts for each event is OK.
: 我只能想到把每个events的开始和结束时间跟别的比较一下,但是很慢O(n^2)。或者就
: 是检测每个分钟内的事件数,这样一天24小时,就是O(24*60*n),但是似乎一般每天不会有那么多events~
: 请大家指点,谢谢啊!

g********d
发帖数: 43
8
这样会漏掉一些
A |-----------------|
B |-------|
C |---------|
按你的算法,B和C的overlap好像没计算在内

【在 h**6 的大作中提到】
: 根据开始时间排序,然后检测相邻两个事件是否重叠,重叠就用最后结束时间和下一个
: 事件开始时间继续检测。

1 (共1页)
进入JobHunting版参与讨论
相关主题
G家电面题目讨论一道面试题
说一题恶心题怎么用nlog n来解。一个NxN矩阵每行每列都sort好,如何排序?
上楼梯问题的时间复杂度是o(n)还是 nlogn?一个特别的inplace merge two sorted arrays
问一道 facebook 面试题出两道题目大家做做
数组中找和为0的3个数,4个数旧题重提: 扔玻璃杯/扔鸡蛋问题
Amazon 电面题, 觉得不可能再优化了!MS 电面面经,攒人品
【BB关于排序的题目该怎么解?】真慫阿, Facebook 1st phone interview,
heap sort的缺点是什么?和quick sort比也上一道算法题了(俺的版权了:))
相关话题的讨论汇总
话题: events话题: fackbook话题: conflicts话题: ok话题: 道题