预处理数据存储将存储位置与数据本身对应起来的存储手段就是Hash。例如,考虑统计输入学生成绩后,统计给出分数的人数,我们可以知道若分数最大值为100时,数组本身只有0到100这101中可能,我们可以将输入分数预先存入数组中,当需要查询时,再将目标分数依次与这些分数对比。
如:输入:5
75 55 75 55 50
75
2
75 55
0
0
输出:2
0
coding:
问题二:
要输出前m大的数,且输入的数字在一定范围各不相同,可考虑使用给定范围的Hash数组来标记输入数字是否存在,再来输出数字,使用这样的方法对比于用排序来做,在时间复杂度上减少了。
coding: