avatar
这几个题目怎么做啊# JobHunting - 待字闺中
g*j
1
第一题, 给一个N个node的BST,给一个key,返回与key最接近的m个node(m < N).
最接近的是什么意思? 比如假设树是, 如下,给定3, 最接近的三个
点是 1,2,4啊,还是2,4,5啊
5
3 6

2 4
1
第二题 用一个数组来表示二维数组,但是每一行的元素个数可以不同,实现get,set函
数。 这个题目怎么做的? 是不是需要把每一行的数组的长度保存起来?还是保存那
个前面所有n行的元素的和?
第三题 Given 2D coordinates , find the k points which are closest to the
origin. Propose a data structure for storing the points and the method to
get the k points. Also point out the complexity of the code.
假设就找最近的,可以用kd tree,但是要找k个怎么找呢? 每次把最近的去掉,然后
找k次?这样每次去掉的时候也要修改kd tree吧? 这样时间复杂度是多少? 如果直
接用heap做呢?
第四题 You are given N ranges of date offsets when N employees are present
in an organization. Something like
1-4 (i.e. employee will come on 1st, 2nd, 3rd and 4th day ) 2-6
8-9
..
1-14
You have to organize an event on minimum number of days such that each
employee can attend the event at least twice. Write an algorithm (there is
apparently an O(n) algorithm for this).
请问这里面这个event是必须连续的么?
请问这个O(n) 的算法是什么? 我能够想到的算法是,对所有ending排序,假设最小的
ending是x,然后对所有的start排序,假设最大的start是y,那么这个minimumnumber
就是 y -x + 4啊,这样算法是nlogn啊。
还有,我看到很多这个range 相关题目,我一直苦于找不到门道,请问谁能指点指点?
avatar
e*e
2
第一题
最接近的意思是和key的值最接近吧。
第二题
可不可以用另外一个数组,来记录每一行的第一个元素在一维数组的位置。
i.e.
二维数组 M
1 2 3
4 5 6 7
8 9
一维数组 A
1 2 3 4 5 6 7 8 9
辅助数组 B
0 3 7
所以:M[i,j] <==> A[B[i]+j]
第三题
用max heap吧。对于N个坐标点,求K个最小点。time complexity is N*lg(K)
第四题
维护两个变量x和y,最小的ending是x, 最大的start是y,扫一遍就可以得到x和y.

【在 g***j 的大作中提到】
: 第一题, 给一个N个node的BST,给一个key,返回与key最接近的m个node(m < N).
: 最接近的是什么意思? 比如假设树是, 如下,给定3, 最接近的三个
: 点是 1,2,4啊,还是2,4,5啊
: 5
: 3 6
:
: 2 4
: 1
: 第二题 用一个数组来表示二维数组,但是每一行的元素个数可以不同,实现get,set函
: 数。 这个题目怎么做的? 是不是需要把每一行的数组的长度保存起来?还是保存那

avatar
j*y
3
第四题你得到 x, y 以后呢? 比如
[1 2] [10 11]
x = 2, y = 10
然后呢?

【在 e****e 的大作中提到】
: 第一题
: 最接近的意思是和key的值最接近吧。
: 第二题
: 可不可以用另外一个数组,来记录每一行的第一个元素在一维数组的位置。
: i.e.
: 二维数组 M
: 1 2 3
: 4 5 6 7
: 8 9
: 一维数组 A

avatar
e*e
4
event start: x-1
event end: y+1

【在 j*****y 的大作中提到】
: 第四题你得到 x, y 以后呢? 比如
: [1 2] [10 11]
: x = 2, y = 10
: 然后呢?

avatar
j*y
5
也就是说 event的区间是 1-11 , 是11天
这个太多了吧,实际上只需要 四天: 1, 2, 10, 11

【在 e****e 的大作中提到】
: event start: x-1
: event end: y+1

avatar
e*e
6
I'm not sure the event can be 不连续。If it's 不连续, for the case [1 3] [10
12], 就有多种答案:
1 2 10 11
1 2 10 12
1 2 11 12
1 3 10 11
...

【在 j*****y 的大作中提到】
: 也就是说 event的区间是 1-11 , 是11天
: 这个太多了吧,实际上只需要 四天: 1, 2, 10, 11

avatar
j*y
7
这个没问题阿,题目是需要找到举办event最少的天数。
你这里就是 4天

10

【在 e****e 的大作中提到】
: I'm not sure the event can be 不连续。If it's 不连续, for the case [1 3] [10
: 12], 就有多种答案:
: 1 2 10 11
: 1 2 10 12
: 1 2 11 12
: 1 3 10 11
: ...

avatar
e*e
8
"You have to organize an event on minimum number of days"
不是求最少的天数,是求最小天数的那些天。

【在 j*****y 的大作中提到】
: 这个没问题阿,题目是需要找到举办event最少的天数。
: 你这里就是 4天
:
: 10

avatar
g*j
9
第一题我给的例子也是值啊。

第一题最接近的意思是和key的值最接近吧。第二题可不可以用另外一个数组,来记录
每一行的第一个元素在一维数组的位置。i.e.二维数组 M1 2 34 5 6 78 9一维数组 A.
.......

【在 e****e 的大作中提到】
: "You have to organize an event on minimum number of days"
: 不是求最少的天数,是求最小天数的那些天。

avatar
e*e
10

不大明白你的意思。第一题例子中最接近的三个点是:2,3,4吧。

【在 g***j 的大作中提到】
: 第一题我给的例子也是值啊。
:
: 第一题最接近的意思是和key的值最接近吧。第二题可不可以用另外一个数组,来记录
: 每一行的第一个元素在一维数组的位置。i.e.二维数组 M1 2 34 5 6 78 9一维数组 A.
: .......

avatar
g*j
11
我给的是3啊,难道3本身算一个么?
如果3本身算一个,那最近的四个值又是多少呢?

不大明白你的意思。第一题例子中最接近的三个点是:2,3,4吧。

【在 e****e 的大作中提到】
:
: 不大明白你的意思。第一题例子中最接近的三个点是:2,3,4吧。

avatar
e*e
12
如果3本身算一个, 1, 2, 3, 4 和 2, 3, 4, 5都行吧。

【在 g***j 的大作中提到】
: 我给的是3啊,难道3本身算一个么?
: 如果3本身算一个,那最近的四个值又是多少呢?
:
: 不大明白你的意思。第一题例子中最接近的三个点是:2,3,4吧。

avatar
g*j
13
这就是我的疑问

如果3本身算一个, 1, 2, 3, 4 和 2, 3, 4, 5都行吧。

【在 e****e 的大作中提到】
: 如果3本身算一个, 1, 2, 3, 4 和 2, 3, 4, 5都行吧。
avatar
e*e
14
What's the solution? Any idea?

【在 g***j 的大作中提到】
: 这就是我的疑问
:
: 如果3本身算一个, 1, 2, 3, 4 和 2, 3, 4, 5都行吧。

avatar
d*e
15
没什么问题吧,也就是有多个答案而已

【在 g***j 的大作中提到】
: 这就是我的疑问
:
: 如果3本身算一个, 1, 2, 3, 4 和 2, 3, 4, 5都行吧。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。