|
sumhatJul 9, 2015
1
先排个序再找 50 - 100 的就好了
|
|
loveuqianJul 9, 2015 via iPhone
2
初学者只能想到先遍历找出再排序了
|
|
batman2010Jul 9, 2015
3
最大堆。
|
|
txxJul 9, 2015
4
2000 直接做基数排序吧....
|
|
chlxJul 9, 2015
5
如果不重复的话bit记录50-100. 最后按顺序输出. O(N).
|
|
publicID001Jul 9, 2015 via Android
6
统计50-100 之间的所有数出现次数,输出
另外这种数据规模就算暴力也没什么压力啊 |
|
KilerdJul 9, 2015
7
先sort,再用二分法找50和100,就可以了吧
|
|
otakustayJul 9, 2015
8
才200个数,显然开200个空位直接哈希排序了,冲撞就用开链表解决
|
|
akiraJul 9, 2015
9
这个数据量,随便什么方法都可以了呀。
先排序在过滤或者先过滤再排序都毫无压力的。 而且排序直接冒泡都没问题呀 |
|
also24Jul 9, 2015
10
我可以推荐一下Bogo排序嘛?
|
|
scream7Jul 9, 2015
11
计数排序.
|
|
18000rpmJul 9, 2015 via Android
12
想到快排,并且在每次分区的过程中遇到 50~100 之外的直接丢掉。
|
|
acrosJul 9, 2015
14
空间换时间吗?遍历一遍。
声明一个200长度的数组numArray[200],memset一下。 遍历一遍numArray[i]++,就得到所有数的排序表了 |
|
acrosJul 9, 2015
15
上面数字说错了。等下我改改。
|
|
acrosJul 9, 2015
16
numArray[2000];
原数组遍历src[i], numArray[src[i]]++ 然后查看下numArray从50到100项非零的。 |
|
hahastudioJul 9, 2015
17
桶排啊,反正就 51 个位置
|
|
cloud107202Jul 9, 2015
18
桶排+1
|
|
IwfWcfJul 9, 2015
19
才 200 长度,怎么搞都可以啦……
|
|
liuhaotianJul 9, 2015 via iPhone
20
数组[50,100] x[M]++
|
|
msg7086Jul 9, 2015
21
最容易实现的方法就是堆排序了吧。开个priority queue什么的然后一边判断一边插♂,跑完就能拿到结果了。
|
|
lzdhlscJul 10, 2015
22
桶排 O(n)
|
|
initdrvJul 10, 2015 via iPhone
23
身为一名默默无闻的JAVA新手,表示只能想到用Arrays的sort排序后,再用二分查找?分别得到不小于50和不大于100的角标?最后循环输出?😔😳
|
|
poke707Jul 10, 2015
24
LZ其实使用了twitter sort的一个变种
https://github.com/ExPHAT/twitter-sort |
|
25
@poke707 为什么这么说呢?
|