avatar
问一道F家的考古题# JobHunting - 待字闺中
h*7
1
一个数组有k个不同数字,假设k是常数,如何O(n) time, O(1)space排序
没有想出来,求指点
avatar
e*8
2
counting sort...
if we don't require the sorting to be stable, we don't need to use an
auxiliary array of size O(n); just an array of size O(k) = O(1) is
sufficient.
avatar
h*7
3
可是 counting 的话是 O(K) space ...
avatar
e*8
4
k is a constant by assumption

【在 h*****7 的大作中提到】
: 可是 counting 的话是 O(K) space ...
avatar
s*n
5

O(1) 吧, 你就直接操作数组本身呀, A[i-1]=i 不就行了,

【在 h*****7 的大作中提到】
: 可是 counting 的话是 O(K) space ...
avatar
f*4
6
只是k个不同的数字,而不是1~K之间的?

【在 h*****7 的大作中提到】
: 一个数组有k个不同数字,假设k是常数,如何O(n) time, O(1)space排序
: 没有想出来,求指点

avatar
o*n
7
a=[22,3,556,223,56556,23,2,767,0, 55, 19,200,300,452,95]
m=max(a) +1
count=[0] * m
for i in a:
count[i]=1
for j in range(m):
if count[j] ==1: print j
avatar
P*7
8
这题好像还是我几年前贴的,其实就是荷兰国旗问题扩展

【在 h*****7 的大作中提到】
: 一个数组有k个不同数字,假设k是常数,如何O(n) time, O(1)space排序
: 没有想出来,求指点

avatar
g*9
9
请大牛给个思路吧?

【在 P*******7 的大作中提到】
: 这题好像还是我几年前贴的,其实就是荷兰国旗问题扩展
avatar
x*o
10

是n*klogk?

【在 h*****7 的大作中提到】
: 一个数组有k个不同数字,假设k是常数,如何O(n) time, O(1)space排序
: 没有想出来,求指点

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