某地区有100万个中考考生,他们的成绩是0到720之间的正整数。已经分数在数组A[]中,请问怎样能快速统计各分数段的分数?
你可以建立一个数组B表示0到720分的每个分数段。遍历数组A:100万考生成绩里面的每个元素,将B[A[i]]的值加1,再次遍历数组B,就能拿到各分数段的分数。
排序用快排最快,然后遍历就OK。不过因为这里是分数段,也可以用基数排序
int fn( int a, int n );
int SumA( int a, int n );
其中函数fn
须返回的是n
个a
组成的数字;SumA
返回要求的和。