avatar
l*n
1
寒暄,介绍下project。
1. 合并interval (leetcode)
2. 给一个部分排好序的序列。保证每个elem在k范围内能找到自己正确的位置。 比如
说a[i]它在完全排序的序列中应处的位置j,满足 abs(i-j) <= k的。怎样把序列完全
排序?
implement sort(a, k),代价?
avatar
d*e
2

这个是 nearly sorted problem,用堆可以做。O(NlgK) run time, O(K) space.

【在 l***n 的大作中提到】
: 寒暄,介绍下project。
: 1. 合并interval (leetcode)
: 2. 给一个部分排好序的序列。保证每个elem在k范围内能找到自己正确的位置。 比如
: 说a[i]它在完全排序的序列中应处的位置j,满足 abs(i-j) <= k的。怎样把序列完全
: 排序?
: implement sort(a, k),代价?

avatar
H*s
3
这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
log(2K)) = O(NlgK)

【在 d******e 的大作中提到】
:
: 这个是 nearly sorted problem,用堆可以做。O(NlgK) run time, O(K) space.

avatar
l*b
4
嗯,CLRS上一个习题. 开始我也是这样想的. 这两个算法差不多吧, heap里每个元素一
进一出,基本上每个元素处理两遍. 这个办法也大约是每个元素处理两遍.

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

avatar
H*s
5
你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。

【在 l*******b 的大作中提到】
: 嗯,CLRS上一个习题. 开始我也是这样想的. 这两个算法差不多吧, heap里每个元素一
: 进一出,基本上每个元素处理两遍. 这个办法也大约是每个元素处理两遍.

avatar
d*x
6
多半是order statistics,或者是augmented datastructures

素一

【在 H****s 的大作中提到】
: 你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。
avatar
f*m
7
这样划分:
A[0]~A[k-1]一组,A[k]~A[2k-1]一组?

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

avatar
d*g
8
两个题都要写程序?45分钟很吃力啊。。。还要边说边写~
avatar
H*s
9
A[0]~A[2k-1], A[k]~A[3k-1], ...

【在 f*********m 的大作中提到】
: 这样划分:
: A[0]~A[k-1]一组,A[k]~A[2k-1]一组?

avatar
p*2
10

这样搞的话还需要实现一个快排吗?

【在 H****s 的大作中提到】
: A[0]~A[2k-1], A[k]~A[3k-1], ...
avatar
b*m
11
现在再去面试一定挂。感觉这些题都不会做。
avatar
l*a
12
这个是另类A店面
绝大多数 A店面比这个简单的多

【在 b***m 的大作中提到】
: 现在再去面试一定挂。感觉这些题都不会做。
avatar
b*m
13

Onsite来这么一道也吃不消呀。

【在 l*****a 的大作中提到】
: 这个是另类A店面
: 绝大多数 A店面比这个简单的多

avatar
l*b
14
上个月还在读... 现在也放在手边,呵呵,后面半本还没念...
奇怪,可能记错了, 找了一圈没找到...
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
应该不在书上, 上面的problem 2-2

【在 H****s 的大作中提到】
: 你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。
avatar
l*a
15
那就看运气了

【在 b***m 的大作中提到】
:
: Onsite来这么一道也吃不消呀。

avatar
H*s
16
恩,是需要的

【在 p*****2 的大作中提到】
:
: 这样搞的话还需要实现一个快排吗?

avatar
H*s
17
赞你这研究精神, 被你找到出处了

【在 l*******b 的大作中提到】
: 上个月还在读... 现在也放在手边,呵呵,后面半本还没念...
: 奇怪,可能记错了, 找了一圈没找到...
: http://ocw.mit.edu/courses/electrical-engineering-and-computer-
: 应该不在书上, 上面的problem 2-2

avatar
p*2
18

所以写起来也比较麻烦。

【在 H****s 的大作中提到】
: 恩,是需要的
avatar
l*n
19
寒暄,介绍下project。
1. 合并interval (leetcode)
2. 给一个部分排好序的序列。保证每个elem在k范围内能找到自己正确的位置。 比如
说a[i]它在完全排序的序列中应处的位置j,满足 abs(i-j) <= k的。怎样把序列完全
排序?
implement sort(a, k),代价?
avatar
H*s
20
这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
log(2K)) = O(NlgK)

【在 d******e 的大作中提到】
:
: 这个是 nearly sorted problem,用堆可以做。O(NlgK) run time, O(K) space.

avatar
l*b
21
嗯,CLRS上一个习题. 开始我也是这样想的. 这两个算法差不多吧, heap里每个元素一
进一出,基本上每个元素处理两遍. 这个办法也大约是每个元素处理两遍.

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

avatar
H*s
22
你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。

【在 l*******b 的大作中提到】
: 嗯,CLRS上一个习题. 开始我也是这样想的. 这两个算法差不多吧, heap里每个元素一
: 进一出,基本上每个元素处理两遍. 这个办法也大约是每个元素处理两遍.

avatar
d*x
23
多半是order statistics,或者是augmented datastructures

素一

【在 H****s 的大作中提到】
: 你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。
avatar
f*m
24
这样划分:
A[0]~A[k-1]一组,A[k]~A[2k-1]一组?

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

avatar
d*g
25
两个题都要写程序?45分钟很吃力啊。。。还要边说边写~
avatar
H*s
26
A[0]~A[2k-1], A[k]~A[3k-1], ...

【在 f*********m 的大作中提到】
: 这样划分:
: A[0]~A[k-1]一组,A[k]~A[2k-1]一组?

avatar
p*2
27

这样搞的话还需要实现一个快排吗?

【在 H****s 的大作中提到】
: A[0]~A[2k-1], A[k]~A[3k-1], ...
avatar
b*m
28
现在再去面试一定挂。感觉这些题都不会做。
avatar
l*a
29
这个是另类A店面
绝大多数 A店面比这个简单的多

【在 b***m 的大作中提到】
: 现在再去面试一定挂。感觉这些题都不会做。
avatar
b*m
30

Onsite来这么一道也吃不消呀。

【在 l*****a 的大作中提到】
: 这个是另类A店面
: 绝大多数 A店面比这个简单的多

avatar
l*b
31
上个月还在读... 现在也放在手边,呵呵,后面半本还没念...
奇怪,可能记错了, 找了一圈没找到...
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
应该不在书上, 上面的problem 2-2

【在 H****s 的大作中提到】
: 你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。
avatar
l*a
32
那就看运气了

【在 b***m 的大作中提到】
:
: Onsite来这么一道也吃不消呀。

avatar
H*s
33
恩,是需要的

【在 p*****2 的大作中提到】
:
: 这样搞的话还需要实现一个快排吗?

avatar
H*s
34
赞你这研究精神, 被你找到出处了

【在 l*******b 的大作中提到】
: 上个月还在读... 现在也放在手边,呵呵,后面半本还没念...
: 奇怪,可能记错了, 找了一圈没找到...
: http://ocw.mit.edu/courses/electrical-engineering-and-computer-
: 应该不在书上, 上面的problem 2-2

avatar
p*2
35

所以写起来也比较麻烦。

【在 H****s 的大作中提到】
: 恩,是需要的
avatar
b*g
36
Page 207, very similar to Problem 8-5
We can prove that a[i] <= a[i + 2k + 1]
Thus this problem can be transformed to the problem of merging 2k + 1 sorted
lists:
a[0], a[2k + 1], ...
a[1], a[2k + 2], ...
...
a[2k], a[4k + 1], ...
https://www.dropbox.com/s/ctl3r4b4o4i5w0u/Introduction%20to%20Algorithms%20%
283nd%20Edition%29.pdf

【在 H****s 的大作中提到】
: 你还记得这是个习题啊,不错! 我是彻底忘了在哪见过了。
avatar
n*w
38
要是不用实现sort本身,面试这样写应该最简单啊。
sortK(arr, k):
start = 0
n = len(arr)
while start < n-k:
sort(arr, start, min(n, start+2*k)-1) #sort start到start+2k-1 in
place
start += k

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

avatar
b*7
39
也可以insert sort, O(KN)复杂度

【在 H****s 的大作中提到】
: 这题不用堆也行吧,就是每 2K 个一组排序,一共分成N/K 组,总的时间 O(N/K * 2K
: log(2K)) = O(NlgK)

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