我真的很感激任何帮助。这是问题:
找到一个线性时间算法,对区间 [0,2] 中的 n 个数字进行排序,使得对于每 2 个数字 a,b :|ab| > (1/n)^2
可悲的是,我阅读了这个问题的答案,但仍然不知道如何解决它......这是他们所说的:
对于每个数字 ai(假设 i 是索引),我们将“附加”一个数字 ni,使得:ni/2n2 <= ai <= (ni+1)/2n2
(这正是他们写的方式,我认为他们的意思是 ni/(2n^2) 和 (ni+1)/(2n^2) 但我不确定)。然后他们说不难展示如何在线性时间内对数字 ni 进行排序......
我明白为什么展示如何在线性时间内对数字 ni 进行排序就足够了,但我真的不知道该怎么做......
真的很郁闷... :(