首页 > 试题广场 >

有 10000 个正整数,每个数的取值范围均在 1 到 10

[问答题]

10000 个正整数,每个数的取值范围均在 1 1000 之间,变成找出从小到大排在第 3400 (从 0 开始算起)的那个数,将此数的值返回,要求不使用排序实现。

如果排除桶排序的思想的话,可以维护一个一个大小为3400的大根堆,3400之后的元素依此与根比较,若小于根,则将根删除,将新节点插入
发表于 2017-02-06 20:44:55 回复(0)
mark[1001], 分别存储0-1000的出现次数
发表于 2017-01-10 12:45:35 回复(0)