由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 变形面试问题
相关主题
一道面试题的优化一个算法题:Selecting median of three sorted arrays
bloomberg电面结束,送上面经,求祝福还有两个题。
T家一面Groupon 電面
T家一题Counting sort问题
为什么这题要用min heap?Sort numbers stored on different machines问一道google的题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?一道面试题:matrix找第k大
amazon的一道题find median for k sorted arrays
median of two sorted arrays的时间复杂度(附上了过了oj的代码)求两个有序数组的median的平凡解法?
相关话题的讨论汇总
话题: 个数话题: median话题: 机器话题: a1话题: 复杂度
进入JobHunting版参与讨论
1 (共1页)
g**********y
发帖数: 14569
1
刚才看见问面试题,我理解错了,这是错误的理解:
Given P machines, each containing an array of N elements, find the median of
the N*P elements.
好象不是很简单的一道题。
P=2,sorted array时,ihasleetcode上有经典答案。
P是任意数,按类似的方法,写code就不简单,复杂度也不小。
有什么好办法?
s*****y
发帖数: 897
2
觉得是用
http://en.wikipedia.org/wiki/Selection_algorithm
但是没有code过。

of

【在 g**********y 的大作中提到】
: 刚才看见问面试题,我理解错了,这是错误的理解:
: Given P machines, each containing an array of N elements, find the median of
: the N*P elements.
: 好象不是很简单的一道题。
: P=2,sorted array时,ihasleetcode上有经典答案。
: P是任意数,按类似的方法,写code就不简单,复杂度也不小。
: 有什么好办法?

d*******d
发帖数: 2050
3
感觉上下双heap就可以.不知道有没有更好的.
g**********y
发帖数: 14569
4
如果不能move data around, 就没法用heap.

【在 d*******d 的大作中提到】
: 感觉上下双heap就可以.不知道有没有更好的.
d*******d
发帖数: 2050
5
不移动data啊,就是挨个读一遍
g**********y
发帖数: 14569
6
比较粗糙的想法:
- 给定任何一个数A,我们可以在O(P*N)内确定这个数的位置,办法:
1. 对机器i, 逐个比较,可以知道k[i]个数小于等于A,N-k[i]个比A大
2. 所以A就是第sum(k[..])个数
- 我们目标是找第t = P*N/2个数 (median)
- 用二分法找出机器1里的这个点i, 满足:
a1[i] 是第x个数
a1[i+1] 是第y个数
x < t < y
复杂度 = O(P*N*log(N))
- 那么我们就知道,第t个数(median)的值一定是夹在a1[i]和a1[i+1]之间的。
- 类推下去,找机器2的这个点i',。。。直到机器P
- 在某个机器上,用以上办法一定可以找到这个点i, 正好是median.
复杂度 = O(P*N*log(N)*P)
g**********y
发帖数: 14569
7
挨个读一遍怎么找出所有的值的median?

【在 d*******d 的大作中提到】
: 不移动data啊,就是挨个读一遍
M**u
发帖数: 10158
8
还是一样吧
sort N个,然后对N个做归并,每次找出最小的那个扔掉,扔到第NP/2个就行了。。。

of

【在 g**********y 的大作中提到】
: 刚才看见问面试题,我理解错了,这是错误的理解:
: Given P machines, each containing an array of N elements, find the median of
: the N*P elements.
: 好象不是很简单的一道题。
: P=2,sorted array时,ihasleetcode上有经典答案。
: P是任意数,按类似的方法,写code就不简单,复杂度也不小。
: 有什么好办法?

g**********y
发帖数: 14569
9
这个需要把所有的数都归并到一个机器上,题目要求不能挪数。

【在 M**u 的大作中提到】
: 还是一样吧
: sort N个,然后对N个做归并,每次找出最小的那个扔掉,扔到第NP/2个就行了。。。
:
: of

d*******d
发帖数: 2050
10
没挪走,make copy都不行。

【在 g**********y 的大作中提到】
: 这个需要把所有的数都归并到一个机器上,题目要求不能挪数。
g**********y
发帖数: 14569
11
问这种题,一般都针对海量数据,没办法在一台机器上处理。

【在 d*******d 的大作中提到】
: 没挪走,make copy都不行。
a**********2
发帖数: 340
12

好想不行,因为每次递归重新分组的时候还是需要move data

【在 s*****y 的大作中提到】
: 觉得是用
: http://en.wikipedia.org/wiki/Selection_algorithm
: 但是没有code过。
:
: of

d*******d
发帖数: 2050
13
我觉得这个对.
归并的时候不用存下来,而是计数就可以.

【在 M**u 的大作中提到】
: 还是一样吧
: sort N个,然后对N个做归并,每次找出最小的那个扔掉,扔到第NP/2个就行了。。。
:
: of

1 (共1页)
进入JobHunting版参与讨论
相关主题
求两个有序数组的median的平凡解法?为什么这题要用min heap?Sort numbers stored on different machines
数组中找和为0的3个数,4个数找2个sorted array中的第K小的元素,有O(lgn)方法吗?
M大小的数组中选出前N个元素 (如果M和N都很大)amazon的一道题
问一下sortingmedian of two sorted arrays的时间复杂度(附上了过了oj的代码)
一道面试题的优化一个算法题:Selecting median of three sorted arrays
bloomberg电面结束,送上面经,求祝福还有两个题。
T家一面Groupon 電面
T家一题Counting sort问题
相关话题的讨论汇总
话题: 个数话题: median话题: 机器话题: a1话题: 复杂度